Function at 0x436820
Capabilities:
Delete file

Disassembly:
push 0x5c4
push 0x45d9e0
call fcn.0045d7f0
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.00455e72
test al, al
je 0x43688e
mov byte [0x47aa33], 1
push 1
call esi
pop ecx
mov ecx, eax
call fcn.00455e72
test al, al
je 0x4368a5
mov byte [0x47aa13], 1
push 1
push 0x43672f
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov dword [0x4775dc], 0x4672ac
push 0x43940e
push 2
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
call esi
push 0x43940e
push 0xf
call esi
add esp, 0x10
mov byte [0x467231], 1
mov esi, dword [edi]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4368e5
sub ecx, edx
sar ecx, 1
lea ebx, [ecx + 3]
lea ecx, [ebx + ebx]
call fcn.004524a1
mov edi, eax
push 0x4289b4
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 0x4289b4
push ebx
push edi
call esi
mov dword [0x467274], 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 0x428308
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 0x436b8c
mov ecx, 0xfc
call fcn.00452474
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x2a4], eax
mov ecx, esi
call fcn.004524e5
mov esi, eax
mov dword [ebp - 0x2c8], esi
test esi, esi
jne 0x43699d
mov ecx, 0x3ec
call fcn.0043ef84
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 0x436b85
movzx eax, cx
cmp ax, di
je 0x436b74
push 9
pop ecx
cmp ax, cx
je 0x436b74
push 0xd
pop ecx
cmp ax, cx
je 0x436b74
push 0xa
pop ecx
cmp ax, cx
je 0x436b74
test ax, ax
je 0x4369da
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 0x436a87
add ecx, ecx
mov dword [ebp - 0x2e4], ecx
mov edx, ecx
shl edx, 2
mov ecx, dword [ebp - 0x2a0]
call fcn.004524c6
mov dword [ebp - 0x2a0], eax
test eax, eax
je 0x436f3d
mov ecx, dword [ebp - 0x294]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x2a4], edx
jmp 0x436a8d
mov edx, dword [ebp - 0x2a4]
movzx eax, word [esi]
movzx eax, ax
test ax, ax
je 0x436b67
push 0x20
pop ecx
cmp ax, cx
je 0x436aac
push 9
pop ecx
cmp ax, cx
jne 0x436ab8
cmp byte [ebp - 0x275], bl
je 0x436b59
mov ecx, eax
cmp ecx, 0xa
je 0x436b4e
cmp ecx, 0xd
je 0x436b4e
cmp ecx, 0x22
je 0x436b33
lea ecx, [edi + 2]
cmp ax, word [ebp - 0x288]
je 0x436ae4
mov word [edi], ax
mov edi, ecx
jmp 0x436b24
add esi, 2
mov dword [ebp - 0x2c8], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x436add
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 0x436b2c
cmp ax, word [ebp - 0x284]
jne 0x436b1e
cmp byte [ebp - 0x275], bl
je 0x436b2c
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x2c4], edi
jmp 0x436b40
mov eax, ecx
jmp 0x436a90
cmp byte [ebp - 0x275], bl
sete byte [ebp - 0x275]
add esi, 2
mov dword [ebp - 0x2c8], esi
jmp 0x436a8d
push 0x20
pop eax
mov word [esi], ax
jmp 0x436a90
test ax, ax
je 0x436b67
add esi, 2
mov dword [ebp - 0x2c8], esi
xor eax, eax
mov word [edi], ax
push 0x20
pop edi
jmp 0x4369da
add esi, 2
mov dword [ebp - 0x2c8], esi
movzx ecx, word [esi]
jmp 0x4369e8
mov dword [edx], ebx
jmp 0x436f67
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 0x428310
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 0x436e08
mov ecx, 0xfc
call fcn.00452474
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a8], eax
mov ecx, esi
call fcn.004524e5
mov esi, eax
mov dword [ebp - 0x2b4], esi
test esi, esi
jne 0x436c2d
mov ecx, 0x3ec
call fcn.0043ef84
mov byte [ebp - 0x276], bl
mov edx, dword [ebp - 0x2a8]
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x436ded
push 0x20
pop ecx
movzx eax, ax
cmp ax, cx
je 0x436ddc
push 9
pop edi
cmp ax, di
je 0x436ddc
push 0xd
pop edi
cmp ax, di
je 0x436ddc
push 0xa
pop edi
cmp ax, di
je 0x436ddc
test ax, ax
je 0x436c39
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 0x436ce9
add ecx, ecx
mov dword [ebp - 0x2e8], ecx
mov edx, ecx
shl edx, 2
mov ecx, dword [ebp - 0x29c]
call fcn.004524c6
mov dword [ebp - 0x29c], eax
test eax, eax
je 0x436f3d
mov ecx, dword [ebp - 0x28c]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x2a8], edx
jmp 0x436cef
mov edx, dword [ebp - 0x2a8]
movzx eax, word [esi]
movzx eax, ax
test ax, ax
je 0x436dd2
push 0x20
pop ecx
cmp ax, cx
je 0x436d0e
push 9
pop ecx
cmp ax, cx
jne 0x436d1a
cmp byte [ebp - 0x276], bl
je 0x436dc4
mov ecx, eax
cmp ecx, dword [ebp - 0x2dc]
je 0x436db9
cmp ecx, dword [ebp - 0x2e0]
je 0x436db9
cmp ecx, dword [ebp - 0x2cc]
je 0x436d9e
lea ecx, [edi + 2]
cmp ax, word [ebp - 0x288]
je 0x436d4f
mov word [edi], ax
mov edi, ecx
jmp 0x436d8f
add esi, 2
mov dword [ebp - 0x2b4], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x436d48
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 0x436d97
cmp ax, word [ebp - 0x284]
jne 0x436d89
cmp byte [ebp - 0x276], bl
je 0x436d97
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x2b0], edi
jmp 0x436dab
mov eax, ecx
jmp 0x436cf2
cmp byte [ebp - 0x276], bl
sete byte [ebp - 0x276]
add esi, 2
mov dword [ebp - 0x2b4], esi
jmp 0x436cef
push 0x20
pop eax
mov word [esi], ax
jmp 0x436cf2
test ax, ax
je 0x436dd2
add esi, 2
mov dword [ebp - 0x2b4], esi
xor eax, eax
mov word [edi], ax
jmp 0x436c39
add esi, 2
mov dword [ebp - 0x2b4], esi
movzx eax, word [esi]
jmp 0x436c4a
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 0x4370e2
cmp ecx, 1
jg 0x4370e2
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
jg 0x4370e2
push 0x42832c
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 0x4373ee
mov ecx, dword [ebp - 0x2c0]
shl ecx, 2
call fcn.00452474
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x2bc], eax
mov ecx, esi
call fcn.004524e5
mov esi, eax
mov dword [ebp - 0x2b8], esi
test esi, esi
jne 0x436ea4
mov ecx, 0x3ec
call fcn.0043ef84
mov byte [ebp - 0x277], bl
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x437098
push 0x20
pop ecx
movzx eax, ax
cmp ax, cx
je 0x437087
push 9
pop edx
cmp ax, dx
je 0x437087
push 0xd
pop edx
cmp ax, dx
je 0x437087
push 0xa
pop edx
cmp ax, dx
je 0x437087
test ax, ax
je 0x436eaa
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 0x436f9a
add edx, edx
mov dword [ebp - 0x2c0], edx
shl edx, 2
mov ecx, dword [ebp - 0x290]
call fcn.004524c6
mov dword [ebp - 0x290], eax
test eax, eax
jne 0x436f8b
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 [0x4672b7], bl
jne 0x436f5d
call fcn.00438e47
mov ecx, 0x3f6
call fcn.0043ef84
cmp dword [ebp - 0x27c], ebx
je 0x436bbe
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 0x436bbe
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 0x43707d
push 0x20
pop edx
cmp ax, dx
je 0x436fb9
push 9
pop edx
cmp ax, dx
jne 0x436fc5
cmp byte [ebp - 0x277], bl
je 0x43706f
mov edx, eax
cmp edx, dword [ebp - 0x2dc]
je 0x437064
cmp edx, dword [ebp - 0x2e0]
je 0x437064
cmp edx, dword [ebp - 0x2cc]
je 0x437049
lea edx, [ecx + 2]
cmp ax, word [ebp - 0x288]
je 0x436ffa
mov word [ecx], ax
mov ecx, edx
jmp 0x43703a
add esi, 2
mov dword [ebp - 0x2b8], esi
push 0x22
pop eax
cmp word [esi], ax
je 0x436ff3
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 0x437042
cmp ax, word [ebp - 0x284]
jne 0x437034
cmp byte [ebp - 0x277], bl
je 0x437042
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x2ac], ecx
jmp 0x437056
mov eax, edx
jmp 0x436f9d
cmp byte [ebp - 0x277], bl
sete byte [ebp - 0x277]
add esi, 2
mov dword [ebp - 0x2b8], esi
jmp 0x436f9a
push 0x20
pop eax
mov word [esi], ax
jmp 0x436f9d
test ax, ax
je 0x43707d
add esi, 2
mov dword [ebp - 0x2b8], esi
xor eax, eax
mov word [ecx], ax
jmp 0x436eaa
add esi, 2
mov dword [ebp - 0x2b8], esi
movzx eax, word [esi]
jmp 0x436ebb
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 0x437602
mov byte [0x47b06f], 1
lea eax, [edi + 5]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.004524a1
mov dword [0x46729c], eax
jmp 0x4373e1
mov edx, eax
shl edx, 2
xor ecx, ecx
call fcn.004524c6
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 0x43716b
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + edx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x437140
cmp di, word [ebp - 0x288]
jne 0x437164
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x437164
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x437164
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x437164
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x43716b
mov dword [esi + ecx*4], eax
inc ecx
inc edx
jmp 0x43710e
xor eax, eax
inc eax
mov dword [ebp - 0x2d4], eax
cmp eax, dword [ebp + 8]
jge 0x4371d4
mov edi, dword [ebp - 0x2d0]
mov eax, dword [edi + eax*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x437197
cmp di, word [ebp - 0x288]
jne 0x4371d4
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x4371bb
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x4371bb
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x4371bb
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x4371d4
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 0x43716e
mov dword [ebp - 0x2d8], ebx
cmp ebx, dword [ebp - 0x28c]
jge 0x437231
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + ebx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x437200
cmp di, word [ebp - 0x288]
jne 0x437231
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x437224
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x437224
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x437224
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x437231
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc ebx
jmp 0x4371d4
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp + 8]
jge 0x43729d
mov edi, dword [ebp - 0x2d0]
mov eax, dword [edi + eax*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x43725a
cmp di, word [ebp - 0x288]
jne 0x43727e
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x43727e
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x43727e
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x43727e
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x43729d
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 0x437237
cmp ebx, dword [ebp - 0x28c]
jge 0x4372fa
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + ebx*4]
movzx edi, word [eax]
cmp di, word [ebp - 0x284]
je 0x4372c3
cmp di, word [ebp - 0x288]
jne 0x4372e7
push 0x6c
pop edi
cmp word [eax + 2], di
jne 0x4372e7
push 0x69
pop edi
cmp word [eax + 4], di
jne 0x4372e7
push 0x6e
pop edi
cmp word [eax + 6], di
jne 0x4372e7
push 0x6b
pop edi
cmp word [eax + 8], di
je 0x4372fa
mov dword [esi + ecx*4], eax
inc ecx
mov dword [ebp - 0x280], ecx
inc ebx
mov dword [ebp - 0x2d8], ebx
jmp 0x43729d
cmp edx, dword [ebp - 0x294]
jge 0x43731e
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 0x4372fa
mov edx, dword [ebp - 0x298]
cmp edx, dword [ebp + 8]
jge 0x437345
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 0x437324
mov edi, dword [ebp - 0x29c]
cmp ebx, dword [ebp - 0x28c]
jge 0x437369
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 0x43734b
mov eax, dword [ebp - 0x2a0]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test eax, eax
je 0x43737d
push eax
call ebx
pop ecx
test edi, edi
je 0x437385
push edi
call ebx
pop ecx
lea eax, [ebp - 0x290]
push eax
lea edx, [ebp - 0x280]
lea ecx, [ebp - 0x2c0]
call fcn.0043760d
mov edi, dword [ebp - 0x280]
test edi, edi
je 0x437602
lea eax, [edi + 5]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.004524a1
mov dword [0x46729c], eax
mov ecx, dword [0x4672a0]
mov dword [eax + ecx*4], 0x42831c
inc ecx
mov dword [0x4672a0], ecx
add dword [0x467298], 8
mov edx, dword [ebp - 0x290]
mov ecx, edi
call fcn.0043857f
test edi, edi
je 0x437602
cmp byte [0x45ec9d], 0
je 0x43744a
cmp dword [0x467258], 0
jne 0x437429
cmp byte [0x467233], 0
jne 0x43741f
cmp byte [0x4672b7], 0
jne 0x43741f
call fcn.00438e47
mov ecx, 0x3f9
call fcn.0043ef84
cmp byte [0x467230], 0
jne 0x43746c
cmp byte [0x4672c2], 0
jne 0x43746c
cmp byte [0x4672d0], 0
je 0x437607
jmp 0x43746c
mov eax, dword [0x467238]
test eax, eax
je 0x43745b
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
mov eax, dword [0x467244]
test eax, eax
je 0x43746c
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
cmp byte [0x4672b7], 0
jne 0x4375e0
call fcn.00438e47
jmp 0x4375e0
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
cmp byte [0x45ec9d], 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.00438e9d
call fcn.00439103
int3