Function at 0x42c360
Capabilities:
Clear file content

Disassembly:
sub esp, 0x424
mov eax, dword [0x4ca3b0]
xor eax, esp
mov dword [esp + 0x420], eax
push ebx
push ebp
xor ebx, ebx
push esi
xor ebp, ebp
mov esi, 1
push edi
mov dword [0x4e680c], ebx
mov dword [0x4e6808], ebx
mov dword [0x4e6810], ebx
mov dword [0x4e68f0], esi
mov dword [0x4e67f0], 0xffffffff
cmp byte [0x4f46d2], bl
jne 0x42c1e5
call fcn.00434010
test eax, eax
je 0x42c149
push esi
push 0x4e6d1c
push 0x4e691c
call fcn.00431de0
call fcn.00434010
test eax, eax
je 0x42c149
push 0x4e6d1c
push 0x4e691c
push 0x4f7014
push 0x4f6c14
mov ecx, 0x4d56b4
call fcn.00429180
push 0x4e691c
call fcn.00452350
test al, al
je 0x42c05f
mov eax, 0x34
jmp 0x42c614
push 0x456
call fcn.00460760
push eax
push 0x4f7014
call fcn.00492940
push 0x3ff
lea eax, [esp + 0x3c]
push 0x4e691c
push eax
call fcn.004a5350
add esp, 0x14
push esi
push 0x4e691c
mov byte [esp + 0x437], bl
call fcn.004523e0
push ebx
push 0x4e691c
call fcn.004313f0
test al, al
je case.0x42c0eb.66
movzx ecx, word [0x4e6858]
movzx edx, word [0x4e6856]
mov eax, dword [0x4d5bcc]
push ebx
shl ecx, 0x10
add ecx, edx
push ecx
mov ecx, dword [0x4d5bc8]
push eax
push ecx
push ebx
push 0x4e691c
call fcn.0040ada0
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x11
ja case.0x42c0eb.66
movzx edx, byte [eax + 0x42c640]
jmp dword [edx*4 + 0x42c630]
mov dword [0x4f45bc], esi
jmp case.0x42c0eb.66
xor eax, eax
mov word [0x4e6d1c], ax
push esi
push ebx
push 0x4e691c
call fcn.00431de0
call fcn.00434010
test eax, eax
jne case.0x42c0eb.67
push 0x4e691c
call fcn.0046a100
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.0046a100
push eax
push 0x4ae
call fcn.00460760
push eax
push 0x4f7014
call fcn.00492940
add esp, 0x10
cmp byte [0x4f46d2], bl
jne 0x42c1e5
mov edi, dword [0x4d5bcc]
mov esi, dword [0x4d5bc8]
push ebx
push 0x800
push edi
push esi
call fcn.004a4da0
cmp edx, dword [0x4d5bc4]
jg 0x42c1e5
jl 0x42c180
cmp eax, dword [0x4d5bc0]
jae 0x42c1e5
cmp edi, ebx
jl 0x42c1b1
jg 0x42c18e
cmp esi, 0x5f5e100
jbe 0x42c1b1
mov ecx, dword [0x4e6818]
call fcn.004302e0
cmp edx, dword [0x4d5bc4]
jl 0x42c1e5
jg 0x42c1ab
cmp eax, dword [0x4d5bc0]
jbe 0x42c1e5
mov esi, dword [0x4d5bc8]
mov edx, dword [0x4e6904]
push ebx
push esi
push edx
call fcn.004a59be
mov eax, dword [0x4e6904]
add esp, 0xc
push eax
call fcn.00431aa0
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [0x4e6904]
push ebx
push ebx
push ecx
call fcn.004a59be
add esp, 0xc
call fcn.00433650
mov cx, word [0x4e6854]
movzx eax, cx
cmp eax, 9
ja case.0x42c204.2
movzx edx, byte [eax + 0x42c668]
jmp dword [edx*4 + 0x42c654]
xor esi, esi
xor edi, edi
mov dword [0x4e6918], ebx
mov dword [0x4e6914], 0x4d67ec
nop
or eax, 0xffffffff
add dword [0x4e6800], eax
adc dword [0x4e6804], eax
js 0x42c24d
jg 0x42c23b
cmp dword [0x4e6800], ebx
jb 0x42c24d
mov ecx, dword [0x4e67f8]
movzx eax, byte [ecx]
inc ecx
mov dword [0x4e67f8], ecx
jmp 0x42c252
call fcn.004338e0
cmp eax, 0xffffffff
je 0x42c2e0
cmp dword [0x4e68ec], ebx
jne 0x42c2e0
mov ecx, dword [0x4e6914]
mov byte [ecx], al
mov eax, dword [0x4e6918]
inc dword [0x4e6914]
inc eax
mov dword [0x4e6918], eax
cmp eax, 0x10000
jne 0x42c220
mov edx, dword [0x4e6824]
push edx
add esi, eax
mov eax, dword [0x4e6820]
push eax
mov eax, dword [0x4d67e8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x4d5bcc]
adc edi, ebx
add ecx, esi
adc edx, edi
push edx
push ecx
mov ecx, dword [0x4d5bc8]
push eax
push ecx
push edi
push esi
call fcn.00409840
call fcn.004468f0
cmp byte [0x4e8c4c], bl
jne 0x42c2e0
mov edx, dword [0x4e6918]
push ebx
push edx
push 0x4d67ec
call fcn.00434180
jmp 0x42c20f
mov eax, dword [0x4e6918]
cmp eax, ebx
je 0x42c384
push ebx
push eax
push 0x4d67ec
call fcn.00434180
jmp 0x42c384
call fcn.00479be0
jmp 0x42c36f
call fcn.0042a280
cmp eax, ebx
je 0x42c324
cmp eax, 5
je 0x42c329
xor edx, edx
cmp eax, 3
sete dl
lea edx, [edx*4 + 2]
mov ebp, edx
cmp eax, 5
jne 0x42c384
mov ecx, dword [0x4d5bd0]
xor eax, eax
cmp eax, dword [0x4e6864]
jg 0x42c353
jl 0x42c343
cmp ecx, dword [0x4e6860]
ja 0x42c353
mov eax, 1
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c384
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c384
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.004388e0
cmp eax, ebx
je 0x42c384
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov ebp, ecx
mov cl, byte [0x4f46d2]
xor bl, bl
cmp byte [0x4e8c4c], bl
je 0x42c39a
test cl, cl
jne 0x42c39a
mov bl, 1
mov eax, dword [0x4e68ec]
xor edi, edi
cmp eax, edi
je 0x42c3e5
cmp eax, 1
jle 0x42c3de
cmp byte [0x4f4618], 0
jne 0x42c3b9
test cl, cl
jne 0x42c3b9
mov bl, 1
push 0x4e6d1c
push 0x4e691c
push 0x4f7014
push 0x4f6c14
mov ecx, 0x4d56b4
call fcn.00429370
mov ebp, 0x32
jmp 0x42c3f4
mov ebp, 1
jmp 0x42c3f4
cmp ebp, 6
jne 0x42c3f4
mov ecx, 0x4d56b4
call fcn.00428b60
cmp byte [0x4e79a5], 0
je 0x42c4e4
push 0x4e79ac
lea edx, [esp + 0x24]
push edx
call fcn.00431070
mov eax, dword [0x4d5bc0]
and eax, dword [0x4d5bc4]
cmp eax, 0xffffffff
jne 0x42c42c
mov dword [0x4d5bc0], edi
mov dword [0x4d5bc4], edi
call fcn.004335c0
add dword [0x4d5bc0], 0xa
adc dword [0x4d5bc4], edi
call fcn.00433650
mov eax, dword [0x4d67e8]
and dword [eax + 0x28], 0xfffffffe
xor esi, esi
mov edi, edi
or eax, 0xffffffff
add dword [0x4e6800], eax
adc dword [0x4e6804], eax
js 0x42c481
jg 0x42c46b
cmp dword [0x4e6800], edi
jb 0x42c481
mov ecx, dword [0x4e67f8]
movzx dx, byte [ecx]
inc ecx
movzx eax, dx
mov dword [0x4e67f8], ecx
jmp 0x42c489
call fcn.004338e0
movzx eax, ax
mov byte [esp + esi + 0x10], al
inc esi
cmp esi, 0xa
jl 0x42c450
mov eax, dword [0x4d67e8]
or dword [eax + 0x28], 1
mov edx, 0xa
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
lea esp, [esp]
mov esi, dword [ecx]
cmp esi, dword [eax]
jne 0x42c523
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x42c4b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c523
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x42c523
cmp byte [0x4e79a5], 0
je 0x42c4e4
cmp byte [0x4e79a6], 0
je 0x42c4f4
mov ecx, dword [0x4e67f0]
not ecx
cmp ecx, dword [0x4e685c]
jne 0x42c523
cmp byte [0x4f46d2], 0
je 0x42c58a
mov eax, dword [0x4e6838]
test eax, eax
je 0x42c581
movzx edx, word [0x4e6872]
push edx
call fcn.0042be40
cmp eax, ebp
jle 0x42c581
mov ebp, eax
jmp 0x42c581
cmp ebp, 1
jle 0x42c52d
cmp ebp, 2
jne 0x42c568
mov eax, dword [0x4d67e8]
test byte [eax + 0x28], 1
push 0x4e751c
je 0x42c54a
call fcn.0046a100
push eax
push 0x1f8
jmp 0x42c555
call fcn.0046a100
push eax
push 0x1f9
call fcn.00460760
push eax
push 0x4f7014
call fcn.00492940
add esp, 0xc
cmp byte [0x4f4618], 0
jne 0x42c57c
cmp byte [0x4f46d2], 0
jne 0x42c57c
mov bl, 1
mov ebp, 2
cmp byte [0x4f46d2], 0
jne 0x42c5af
test ebp, ebp
je 0x42c5a1
mov ecx, dword [0x4e6904]
push ecx
call fcn.00431aa0
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4f46d2], 0
jne 0x42c5af
call fcn.0047b2b0
test bl, bl
je 0x42c5c2
push 0x4e6d1c
push 0x4e691c
call fcn.004316d0
call fcn.004335c0
mov eax, ebp
jmp 0x42c614
push 0x4e751c
call fcn.0046a100
push eax
push 0x342
call fcn.00460760
push eax
push 0x4f7014
call fcn.00492940
add esp, 0xc
call fcn.004335c0
cmp byte [0x4f46d2], bl
jne 0x42c60f
call fcn.0047b2b0
push 0x4e6d1c
push 0x4e691c
call fcn.004316d0
mov eax, 1
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a39f3
add esp, 0x424
ret