Function at 0x436021
Capabilities:
Delete file

Disassembly:
push 0x5c4
push 0x4562e0
call fcn.004560f0
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2d0], edi
push 0x50
xor ebx, ebx
push ebx
lea eax, [ebp - 0x274]
push eax
call sub.VCRUNTIME140.dll_memset
push 0x2cc
push ebx
lea eax, [ebp - 0x5d4]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
mov dword [ebp - 4], ebx
xor eax, eax
inc eax
mov dword [ebp - 0x298], eax
push eax
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 2
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call esi
pop ecx
mov ecx, eax
call fcn.0044f669
test al, al
je 0x43608f
mov byte [0x4731ef], 1
push 1
call esi
pop ecx
mov ecx, eax
call fcn.0044f669
test al, al
je 0x4360a6
mov byte [0x4731ee], 1
push 1
push 0x435f2f
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov dword [0x46fed8], 0x45fa38
push 0x438b92
push 2
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
call esi
push 0x438b92
push 0xf
call esi
add esp, 0x10
mov esi, dword [edi]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4360df
sub ecx, edx
sar ecx, 1
lea ebx, [ecx + 3]
lea ecx, [ebx + ebx]
call fcn.0044c392
mov edi, eax
push 0x428be0
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
push esi
push ebx
push edi
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
call esi
push 0x428be0
push ebx
push edi
call esi
mov dword [0x45fa00], edi
mov dword [ebp - 0x2e4], 0x3f
xor ebx, ebx
mov dword [ebp - 0x294], ebx
mov dword [ebp - 0x2a0], ebx
mov dword [ebp - 0x27c], ebx
push 0x428520
push ebx
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
add esp, 0x30
mov esi, dword [ebp - 0x27c]
test esi, esi
je 0x436386
mov ecx, 0xfc
call fcn.0044c365
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x2a4], eax
mov ecx, esi
call fcn.0044c3d6
mov esi, eax
mov dword [ebp - 0x2c8], esi
test esi, esi
jne 0x436197
mov ecx, 0x3ec
call fcn.0043b649
mov byte [ebp - 0x275], bl
push 0x20
pop edi
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x2e0], 0xd
mov dword [ebp - 0x2dc], 0xa
mov dword [ebp - 0x2cc], 0x22
mov dword [ebp - 0x288], 0x5c
mov edx, dword [ebp - 0x2a4]
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x43637f
movzx eax, cx
cmp ax, di
je 0x43636e
push 9
pop ecx
cmp ax, cx
je 0x43636e
push 0xd
pop ecx
cmp ax, cx
je 0x43636e
push 0xa
pop ecx
cmp ax, cx
je 0x43636e
test ax, ax
je 0x4361d4
mov edi, esi
mov dword [ebp - 0x2c4], edi
mov ecx, dword [ebp - 0x2a4]
mov dword [ecx], esi
add ecx, 4
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [ebp - 0x294]
lea eax, [ecx + 2]
inc ecx
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2e4]
cmp eax, ecx
jle 0x436281
add ecx, ecx
mov dword [ebp - 0x2e4], ecx
mov edx, ecx
shl edx, 2
mov ecx, dword [ebp - 0x2a0]
call fcn.0044c3b7
mov dword [ebp - 0x2a0], eax
test eax, eax
je 0x436737
mov ecx, dword [ebp - 0x294]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x2a4], edx
jmp 0x436287
mov edx, dword [ebp - 0x2a4]
movzx eax, word [esi]
movzx eax, ax
test ax, ax
je 0x436361
push 0x20
pop ecx
cmp ax, cx
je 0x4362a6
push 9
pop ecx
cmp ax, cx
jne 0x4362b2
cmp byte [ebp - 0x275], bl
je 0x436353
mov ecx, eax
cmp ecx, 0xa
je 0x436348
cmp ecx, 0xd
je 0x436348
cmp ecx, 0x22
je 0x43632d
lea ecx, [edi + 2]
cmp ax, word [ebp - 0x288]
je 0x4362de
mov word [edi], ax
mov edi, ecx
jmp 0x43631e
add esi, 2
mov dword [ebp - 0x2c8], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x4362d7
push 0x5c
pop eax
mov word [edi], ax
mov edi, ecx
mov dword [ebp - 0x2c4], edi
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x436326
cmp ax, word [ebp - 0x284]
jne 0x436318
cmp byte [ebp - 0x275], bl
je 0x436326
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x2c4], edi
jmp 0x43633a
mov eax, ecx
jmp 0x43628a
cmp byte [ebp - 0x275], bl
sete byte [ebp - 0x275]
add esi, 2
mov dword [ebp - 0x2c8], esi
jmp 0x436287
push 0x20
pop eax
mov word [esi], ax
jmp 0x43628a
test ax, ax
je 0x436361
add esi, 2
mov dword [ebp - 0x2c8], esi
xor eax, eax
mov word [edi], ax
push 0x20
pop edi
jmp 0x4361d4
add esi, 2
mov dword [ebp - 0x2c8], esi
movzx ecx, word [esi]
jmp 0x4361e2
mov dword [edx], ebx
jmp 0x436761
mov dword [ebp - 0x284], 0x20
mov dword [ebp - 0x2e0], 0xd
mov dword [ebp - 0x2dc], 0xa
mov dword [ebp - 0x2cc], 0x22
mov dword [ebp - 0x288], 0x5c
mov dword [ebp - 0x2e8], 0x3f
mov edi, ebx
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x29c], ebx
push 0x428528
push ebx
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
add esp, 0xc
mov esi, dword [ebp - 0x27c]
test esi, esi
je 0x436602
mov ecx, 0xfc
call fcn.0044c365
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a8], eax
mov ecx, esi
call fcn.0044c3d6
mov esi, eax
mov dword [ebp - 0x2b4], esi
test esi, esi
jne 0x436427
mov ecx, 0x3ec
call fcn.0043b649
mov byte [ebp - 0x276], bl
mov edx, dword [ebp - 0x2a8]
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x4365e7
push 0x20
pop ecx
movzx eax, ax
cmp ax, cx
je 0x4365d6
push 9
pop edi
cmp ax, di
je 0x4365d6
push 0xd
pop edi
cmp ax, di
je 0x4365d6
push 0xa
pop edi
cmp ax, di
je 0x4365d6
test ax, ax
je 0x436433
mov edi, esi
mov dword [ebp - 0x2b0], edi
mov ecx, dword [ebp - 0x2a8]
mov dword [ecx], esi
add ecx, 4
mov dword [ebp - 0x2a8], ecx
mov ecx, dword [ebp - 0x28c]
lea eax, [ecx + 2]
inc ecx
mov dword [ebp - 0x28c], ecx
mov ecx, dword [ebp - 0x2e8]
cmp eax, ecx
jle 0x4364e3
add ecx, ecx
mov dword [ebp - 0x2e8], ecx
mov edx, ecx
shl edx, 2
mov ecx, dword [ebp - 0x29c]
call fcn.0044c3b7
mov dword [ebp - 0x29c], eax
test eax, eax
je 0x436737
mov ecx, dword [ebp - 0x28c]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x2a8], edx
jmp 0x4364e9
mov edx, dword [ebp - 0x2a8]
movzx eax, word [esi]
movzx eax, ax
test ax, ax
je 0x4365cc
push 0x20
pop ecx
cmp ax, cx
je 0x436508
push 9
pop ecx
cmp ax, cx
jne 0x436514
cmp byte [ebp - 0x276], bl
je 0x4365be
mov ecx, eax
cmp ecx, dword [ebp - 0x2dc]
je 0x4365b3
cmp ecx, dword [ebp - 0x2e0]
je 0x4365b3
cmp ecx, dword [ebp - 0x2cc]
je 0x436598
lea ecx, [edi + 2]
cmp ax, word [ebp - 0x288]
je 0x436549
mov word [edi], ax
mov edi, ecx
jmp 0x436589
add esi, 2
mov dword [ebp - 0x2b4], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x436542
push 0x5c
pop eax
mov word [edi], ax
mov edi, ecx
mov dword [ebp - 0x2b0], edi
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x436591
cmp ax, word [ebp - 0x284]
jne 0x436583
cmp byte [ebp - 0x276], bl
je 0x436591
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x2b0], edi
jmp 0x4365a5
mov eax, ecx
jmp 0x4364ec
cmp byte [ebp - 0x276], bl
sete byte [ebp - 0x276]
add esi, 2
mov dword [ebp - 0x2b4], esi
jmp 0x4364e9
push 0x20
pop eax
mov word [esi], ax
jmp 0x4364ec
test ax, ax
je 0x4365cc
add esi, 2
mov dword [ebp - 0x2b4], esi
xor eax, eax
mov word [edi], ax
jmp 0x436433
add esi, 2
mov dword [ebp - 0x2b4], esi
movzx eax, word [esi]
jmp 0x436444
mov dword [edx], ebx
push dword [ebp - 0x27c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [ebp - 0x27c], ebx
mov edi, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x294]
lea eax, [edi + edx]
mov ecx, dword [ebp + 8]
add eax, ecx
mov dword [ebp - 0x2c0], eax
mov edi, ebx
mov dword [ebp - 0x280], edi
mov dword [ebp - 0x290], ebx
test edx, edx
jg 0x4368dc
cmp ecx, 1
jg 0x4368dc
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
jg 0x4368dc
push 0x428544
push ebx
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
add esp, 0xc
mov esi, dword [ebp - 0x27c]
test esi, esi
je 0x436be8
mov ecx, dword [ebp - 0x2c0]
shl ecx, 2
call fcn.0044c365
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x2bc], eax
mov ecx, esi
call fcn.0044c3d6
mov esi, eax
mov dword [ebp - 0x2b8], esi
test esi, esi
jne 0x43669e
mov ecx, 0x3ec
call fcn.0043b649
mov byte [ebp - 0x277], bl
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x436892
push 0x20
pop ecx
movzx eax, ax
cmp ax, cx
je 0x436881
push 9
pop edx
cmp ax, dx
je 0x436881
push 0xd
pop edx
cmp ax, dx
je 0x436881
push 0xa
pop edx
cmp ax, dx
je 0x436881
test ax, ax
je 0x4366a4
mov ecx, esi
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x2bc]
mov dword [edx], esi
add edx, 4
mov dword [ebp - 0x2bc], edx
lea eax, [edi + 2]
inc edi
mov dword [ebp - 0x280], edi
mov edx, dword [ebp - 0x2c0]
cmp eax, edx
jle 0x436794
add edx, edx
mov dword [ebp - 0x2c0], edx
shl edx, 2
mov ecx, dword [ebp - 0x290]
call fcn.0044c3b7
mov dword [ebp - 0x290], eax
test eax, eax
jne 0x436785
push dword [ebp - 0x27c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [ebp - 0x27c], ebx
cmp byte [0x45e9ff], bl
jne 0x436757
call fcn.004385cb
mov ecx, 0x3f6
call fcn.0043b649
cmp dword [ebp - 0x27c], ebx
je 0x4363b8
push dword [ebp - 0x27c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [ebp - 0x27c], ebx
jmp 0x4363b8
lea eax, [eax + edi*4]
mov dword [ebp - 0x2bc], eax
mov ecx, dword [ebp - 0x2ac]
movzx eax, word [esi]
movzx eax, ax
test ax, ax
je 0x436877
push 0x20
pop edx
cmp ax, dx
je 0x4367b3
push 9
pop edx
cmp ax, dx
jne 0x4367bf
cmp byte [ebp - 0x277], bl
je 0x436869
mov edx, eax
cmp edx, dword [ebp - 0x2dc]
je 0x43685e
cmp edx, dword [ebp - 0x2e0]
je 0x43685e
cmp edx, dword [ebp - 0x2cc]
je 0x436843
lea edx, [ecx + 2]
cmp ax, word [ebp - 0x288]
je 0x4367f4
mov word [ecx], ax
mov ecx, edx
jmp 0x436834
add esi, 2
mov dword [ebp - 0x2b8], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x4367ed
push 0x5c
pop eax
mov word [ecx], ax
mov ecx, edx
mov dword [ebp - 0x2ac], ecx
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x43683c
cmp ax, word [ebp - 0x284]
jne 0x43682e
cmp byte [ebp - 0x277], bl
je 0x43683c
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x2ac], ecx
jmp 0x436850
mov eax, edx
jmp 0x436797
cmp byte [ebp - 0x277], bl
sete byte [ebp - 0x277]
add esi, 2
mov dword [ebp - 0x2b8], esi
jmp 0x436794
push 0x20
pop eax
mov word [esi], ax
jmp 0x436797
test ax, ax
je 0x436877
add esi, 2
mov dword [ebp - 0x2b8], esi
xor eax, eax
mov word [ecx], ax
jmp 0x4366a4
add esi, 2
mov dword [ebp - 0x2b8], esi
movzx eax, word [esi]
jmp 0x4366b5
mov ecx, dword [ebp - 0x2bc]
mov dword [ecx], ebx
push dword [ebp - 0x27c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [ebp - 0x27c], ebx
test edi, edi
je 0x436dfc
mov byte [0x4736ef], 1
lea eax, [edi + 5]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.0044c392
mov dword [0x45fa28], eax
jmp 0x436bdb
mov edx, eax
shl edx, 2
xor ecx, ecx
call fcn.0044c3b7
mov esi, eax
mov dword [ebp - 0x290], esi
mov ecx, ebx
mov edx, ebx
mov dword [ebp - 0x284], 0x2f
mov dword [ebp - 0x288], 0x2d
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x280], ecx
cmp edx, dword [ebp - 0x294]
jge 0x436965
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + edx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x43693a
cmp di, word [ebp - 0x288]
jne 0x43695e
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x43695e
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x43695e
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x43695e
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x436965
mov dword [esi + ecx*4], eax
inc ecx
inc edx
jmp 0x436908
xor eax, eax
inc eax
mov dword [ebp - 0x2d4], eax
cmp eax, dword [ebp + 8]
jge 0x4369ce
mov edi, dword [ebp - 0x2d0]
mov eax, dword [edi + eax*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x436991
cmp di, word [ebp - 0x288]
jne 0x4369ce
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x4369b5
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x4369b5
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x4369b5
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x4369ce
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x298]
inc eax
mov dword [ebp - 0x298], eax
jmp 0x436968
mov dword [ebp - 0x2d8], ebx
cmp ebx, dword [ebp - 0x28c]
jge 0x436a2b
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + ebx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x4369fa
cmp di, word [ebp - 0x288]
jne 0x436a2b
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x436a1e
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x436a1e
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x436a1e
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x436a2b
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc ebx
jmp 0x4369ce
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp + 8]
jge 0x436a97
mov edi, dword [ebp - 0x2d0]
mov eax, dword [edi + eax*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x436a54
cmp di, word [ebp - 0x288]
jne 0x436a78
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x436a78
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x436a78
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x436a78
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x436a97
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x298]
inc eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x2d4], eax
jmp 0x436a31
cmp ebx, dword [ebp - 0x28c]
jge 0x436af4
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + ebx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x436abd
cmp di, word [ebp - 0x288]
jne 0x436ae1
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x436ae1
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x436ae1
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x436ae1
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x436af4
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc ebx
mov dword [ebp - 0x2d8], ebx
jmp 0x436a97
cmp edx, dword [ebp - 0x294]
jge 0x436b18
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + edx*4]
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc edx
mov dword [ebp - 0x2ec], edx
jmp 0x436af4
mov edx, dword [ebp - 0x298]
cmp edx, dword [ebp + 8]
jge 0x436b3f
mov eax, dword [ebp - 0x2d0]
mov eax, dword [eax + edx*4]
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc edx
mov dword [ebp - 0x2d4], edx
jmp 0x436b1e
mov edi, dword [ebp - 0x29c]
cmp ebx, dword [ebp - 0x28c]
jge 0x436b63
mov eax, dword [edi + ebx*4]
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc ebx
mov dword [ebp - 0x2d8], ebx
jmp 0x436b45
mov eax, dword [ebp - 0x2a0]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test eax, eax
je 0x436b77
push eax
call ebx
pop ecx
test edi, edi
je 0x436b7f
push edi
call ebx
pop ecx
lea eax, [ebp - 0x290]
push eax
lea edx, [ebp - 0x280]
lea ecx, [ebp - 0x2c0]
call fcn.00436e07
mov edi, dword [ebp - 0x280]
test edi, edi
je 0x436dfc
lea eax, [edi + 5]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.0044c392
mov dword [0x45fa28], eax
mov ecx, dword [0x45fa2c]
mov dword [eax + ecx*4], 0x428534
inc ecx
mov dword [0x45fa2c], ecx
add dword [0x45fa24], 8
mov edx, dword [ebp - 0x290]
mov ecx, edi
call fcn.00437d3b
test edi, edi
je 0x436dfc
cmp byte [0x457a4d], 0
je 0x436c44
cmp dword [0x45e9e4], 0
jne 0x436c23
cmp byte [0x45e9c2], 0
jne 0x436c19
cmp byte [0x45e9ff], 0
jne 0x436c19
call fcn.004385cb
mov ecx, 0x3f9
call fcn.0043b649
cmp byte [0x45e9c0], 0
jne 0x436c66
cmp byte [0x45fa4d], 0
jne 0x436c66
cmp byte [0x45fa57], 0
je 0x436e01
jmp 0x436c66
mov eax, dword [0x45e9c4]
test eax, eax
je 0x436c55
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
mov eax, dword [0x45e9d0]
test eax, eax
je 0x436c66
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
cmp byte [0x45e9ff], 0
jne 0x436dda
call fcn.004385cb
jmp 0x436dda
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
cmp byte [0x457a4d], al
sete al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret
call fcn.00438621
call fcn.00438887
int3