Function at 0x42c040
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 [0x4f46da], bl
jne 0x42c275
call fcn.00434190
test eax, eax
je 0x42c1d9
push esi
push 0x4e6d1c
push 0x4e691c
call fcn.00431ef0
call fcn.00434190
test eax, eax
je 0x42c1d9
push 0x4e6d1c
push 0x4e691c
push 0x4f701c
push 0x4f6c1c
mov ecx, 0x4d56b4
call fcn.00429210
push 0x4e691c
call fcn.00452540
test al, al
je 0x42c0ef
mov eax, 0x34
jmp 0x42c6a4
push 0x456
call fcn.00460a30
push eax
push 0x4f701c
call fcn.00492ce0
push 0x3ff
lea eax, [esp + 0x3c]
push 0x4e691c
push eax
call fcn.004a55c0
add esp, 0x14
push esi
push 0x4e691c
mov byte [esp + 0x437], bl
call fcn.004525d0
push ebx
push 0x4e691c
call fcn.00431510
test al, al
je case.0x42c17b.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.0040aea0
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x11
ja case.0x42c17b.66
movzx edx, byte [eax + 0x42c6d0]
jmp dword [edx*4 + 0x42c6c0]
mov dword [0x4f45c4], esi
jmp case.0x42c17b.66
xor eax, eax
mov word [0x4e6d1c], ax
push esi
push ebx
push 0x4e691c
call fcn.00431ef0
call fcn.00434190
test eax, eax
jne case.0x42c17b.67
push 0x4e691c
call fcn.0046a3f0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.0046a3f0
push eax
push 0x4ae
call fcn.00460a30
push eax
push 0x4f701c
call fcn.00492ce0
add esp, 0x10
cmp byte [0x4f46da], bl
jne 0x42c275
mov edi, dword [0x4d5bcc]
mov esi, dword [0x4d5bc8]
push ebx
push 0x800
push edi
push esi
call fcn.004a5010
cmp edx, dword [0x4d5bc4]
jg 0x42c275
jl 0x42c210
cmp eax, dword [0x4d5bc0]
jae 0x42c275
cmp edi, ebx
jl 0x42c241
jg 0x42c21e
cmp esi, 0x5f5e100
jbe 0x42c241
mov ecx, dword [0x4e6818]
call fcn.00430400
cmp edx, dword [0x4d5bc4]
jl 0x42c275
jg 0x42c23b
cmp eax, dword [0x4d5bc0]
jbe 0x42c275
mov esi, dword [0x4d5bc8]
mov edx, dword [0x4e6904]
push ebx
push esi
push edx
call fcn.004a5c2e
mov eax, dword [0x4e6904]
add esp, 0xc
push eax
call fcn.00431bb0
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [0x4e6904]
push ebx
push ebx
push ecx
call fcn.004a5c2e
add esp, 0xc
call fcn.004337d0
mov cx, word [0x4e6854]
movzx eax, cx
cmp eax, 9
ja case.0x42c294.2
movzx edx, byte [eax + 0x42c6f8]
jmp dword [edx*4 + 0x42c6e4]
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 0x42c2dd
jg 0x42c2cb
cmp dword [0x4e6800], ebx
jb 0x42c2dd
mov ecx, dword [0x4e67f8]
movzx eax, byte [ecx]
inc ecx
mov dword [0x4e67f8], ecx
jmp 0x42c2e2
call fcn.00433a60
cmp eax, 0xffffffff
je 0x42c370
cmp dword [0x4e68ec], ebx
jne 0x42c370
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 0x42c2b0
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.00409920
call fcn.00446a80
cmp byte [0x4e8c4c], bl
jne 0x42c370
mov edx, dword [0x4e6918]
push ebx
push edx
push 0x4d67ec
call fcn.00434300
jmp 0x42c29f
mov eax, dword [0x4e6918]
cmp eax, ebx
je 0x42c414
push ebx
push eax
push 0x4d67ec
call fcn.00434300
jmp 0x42c414
call fcn.00479eb0
jmp 0x42c3ff
call fcn.0042a310
cmp eax, ebx
je 0x42c3b4
cmp eax, 5
je 0x42c3b9
xor edx, edx
cmp eax, 3
sete dl
lea edx, [edx*4 + 2]
mov ebp, edx
cmp eax, 5
jne 0x42c414
mov ecx, dword [0x4d5bd0]
xor eax, eax
cmp eax, dword [0x4e6864]
jg 0x42c3e3
jl 0x42c3d3
cmp ecx, dword [0x4e6860]
ja 0x42c3e3
mov eax, 1
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c414
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c414
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00438a80
cmp eax, ebx
je 0x42c414
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov ebp, ecx
mov cl, byte [0x4f46da]
xor bl, bl
cmp byte [0x4e8c4c], bl
je 0x42c42a
test cl, cl
jne 0x42c42a
mov bl, 1
mov eax, dword [0x4e68ec]
xor edi, edi
cmp eax, edi
je 0x42c475
cmp eax, 1
jle 0x42c46e
cmp byte [0x4f4620], 0
jne 0x42c449
test cl, cl
jne 0x42c449
mov bl, 1
push 0x4e6d1c
push 0x4e691c
push 0x4f701c
push 0x4f6c1c
mov ecx, 0x4d56b4
call fcn.00429400
mov ebp, 0x32
jmp 0x42c484
mov ebp, 1
jmp 0x42c484
cmp ebp, 6
jne 0x42c484
mov ecx, 0x4d56b4
call fcn.00428bf0
cmp byte [0x4e79a5], 0
je 0x42c574
push 0x4e79ac
lea edx, [esp + 0x24]
push edx
call fcn.00431190
mov eax, dword [0x4d5bc0]
and eax, dword [0x4d5bc4]
cmp eax, 0xffffffff
jne 0x42c4bc
mov dword [0x4d5bc0], edi
mov dword [0x4d5bc4], edi
call fcn.00433740
add dword [0x4d5bc0], 0xa
adc dword [0x4d5bc4], edi
call fcn.004337d0
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 0x42c511
jg 0x42c4fb
cmp dword [0x4e6800], edi
jb 0x42c511
mov ecx, dword [0x4e67f8]
movzx dx, byte [ecx]
inc ecx
movzx eax, dx
mov dword [0x4e67f8], ecx
jmp 0x42c519
call fcn.00433a60
movzx eax, ax
mov byte [esp + esi + 0x10], al
inc esi
cmp esi, 0xa
jl 0x42c4e0
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 0x42c5b3
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x42c540
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c5b3
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x42c5b3
cmp byte [0x4e79a5], 0
je 0x42c574
cmp byte [0x4e79a6], 0
je 0x42c584
mov ecx, dword [0x4e67f0]
not ecx
cmp ecx, dword [0x4e685c]
jne 0x42c5b3
cmp byte [0x4f46da], 0
je 0x42c61a
mov eax, dword [0x4e6838]
test eax, eax
je 0x42c611
movzx edx, word [0x4e6872]
push edx
call fcn.0042bee0
cmp eax, ebp
jle 0x42c611
mov ebp, eax
jmp 0x42c611
cmp ebp, 1
jle 0x42c5bd
cmp ebp, 2
jne 0x42c5f8
mov eax, dword [0x4d67e8]
test byte [eax + 0x28], 1
push 0x4e751c
je 0x42c5da
call fcn.0046a3f0
push eax
push 0x1f8
jmp 0x42c5e5
call fcn.0046a3f0
push eax
push 0x1f9
call fcn.00460a30
push eax
push 0x4f701c
call fcn.00492ce0
add esp, 0xc
cmp byte [0x4f4620], 0
jne 0x42c60c
cmp byte [0x4f46da], 0
jne 0x42c60c
mov bl, 1
mov ebp, 2
cmp byte [0x4f46da], 0
jne 0x42c63f
test ebp, ebp
je 0x42c631
mov ecx, dword [0x4e6904]
push ecx
call fcn.00431bb0
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4f46da], 0
jne 0x42c63f
call fcn.0047b580
test bl, bl
je 0x42c652
push 0x4e6d1c
push 0x4e691c
call fcn.004317e0
call fcn.00433740
mov eax, ebp
jmp 0x42c6a4
push 0x4e751c
call fcn.0046a3f0
push eax
push 0x342
call fcn.00460a30
push eax
push 0x4f701c
call fcn.00492ce0
add esp, 0xc
call fcn.00433740
cmp byte [0x4f46da], bl
jne 0x42c69f
call fcn.0047b580
push 0x4e6d1c
push 0x4e691c
call fcn.004317e0
mov eax, 1
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a3c63
add esp, 0x424
ret