Function at 0x42c290
Capabilities:
Clear file content

Disassembly:
sub esp, 0x424
mov eax, dword [0x4cc3b0]
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 [0x4e880c], ebx
mov dword [0x4e8808], ebx
mov dword [0x4e8810], ebx
mov dword [0x4e88f0], esi
mov dword [0x4e87f0], 0xffffffff
cmp byte [0x4f673a], bl
jne 0x42c4c5
call fcn.00434690
test eax, eax
je 0x42c429
push esi
push 0x4e8d1c
push 0x4e891c
call fcn.004323d0
call fcn.00434690
test eax, eax
je 0x42c429
push 0x4e8d1c
push 0x4e891c
push 0x4f907c
push 0x4f8c7c
mov ecx, 0x4d76b4
call fcn.00429500
push 0x4e891c
call fcn.00452bb0
test al, al
je 0x42c33f
mov eax, 0x34
jmp 0x42c8f4
push 0x456
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
push 0x3ff
lea eax, [esp + 0x3c]
push 0x4e891c
push eax
call fcn.004a64a0
add esp, 0x14
push esi
push 0x4e891c
mov byte [esp + 0x437], bl
call fcn.00452c40
push ebx
push 0x4e891c
call fcn.00431780
test al, al
je case.0x42c3cb.66
movzx ecx, word [0x4e8858]
movzx edx, word [0x4e8856]
mov eax, dword [0x4d7bcc]
push ebx
shl ecx, 0x10
add ecx, edx
push ecx
mov ecx, dword [0x4d7bc8]
push eax
push ecx
push ebx
push 0x4e891c
call fcn.0040af10
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x11
ja case.0x42c3cb.66
movzx edx, byte [eax + 0x42c920]
jmp dword [edx*4 + 0x42c910]
mov dword [0x4f65f4], esi
jmp case.0x42c3cb.66
xor eax, eax
mov word [0x4e8d1c], ax
push esi
push ebx
push 0x4e891c
call fcn.004323d0
call fcn.00434690
test eax, eax
jne case.0x42c3cb.67
push 0x4e891c
call fcn.0046ad90
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.0046ad90
push eax
push 0x4ae
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0x10
cmp byte [0x4f673a], bl
jne 0x42c4c5
mov edi, dword [0x4d7bcc]
mov esi, dword [0x4d7bc8]
push ebx
push 0x800
push edi
push esi
call fcn.004a5ef0
cmp edx, dword [0x4d7bc4]
jg 0x42c4c5
jl 0x42c460
cmp eax, dword [0x4d7bc0]
jae 0x42c4c5
cmp edi, ebx
jl 0x42c491
jg 0x42c46e
cmp esi, 0x5f5e100
jbe 0x42c491
mov ecx, dword [0x4e8818]
call fcn.00430660
cmp edx, dword [0x4d7bc4]
jl 0x42c4c5
jg 0x42c48b
cmp eax, dword [0x4d7bc0]
jbe 0x42c4c5
mov esi, dword [0x4d7bc8]
mov edx, dword [0x4e8904]
push ebx
push esi
push edx
call fcn.004a6b0e
mov eax, dword [0x4e8904]
add esp, 0xc
push eax
call fcn.00432090
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [0x4e8904]
push ebx
push ebx
push ecx
call fcn.004a6b0e
add esp, 0xc
call fcn.00433cd0
mov cx, word [0x4e8854]
movzx eax, cx
cmp eax, 9
ja case.0x42c4e4.2
movzx edx, byte [eax + 0x42c948]
jmp dword [edx*4 + 0x42c934]
xor esi, esi
xor edi, edi
mov dword [0x4e8918], ebx
mov dword [0x4e8914], 0x4d87ec
nop
or eax, 0xffffffff
add dword [0x4e8800], eax
adc dword [0x4e8804], eax
js 0x42c52d
jg 0x42c51b
cmp dword [0x4e8800], ebx
jb 0x42c52d
mov ecx, dword [0x4e87f8]
movzx eax, byte [ecx]
inc ecx
mov dword [0x4e87f8], ecx
jmp 0x42c532
call fcn.00433f60
cmp eax, 0xffffffff
je 0x42c5c0
cmp dword [0x4e88ec], ebx
jne 0x42c5c0
mov ecx, dword [0x4e8914]
mov byte [ecx], al
mov eax, dword [0x4e8918]
inc dword [0x4e8914]
inc eax
mov dword [0x4e8918], eax
cmp eax, 0x10000
jne 0x42c500
mov edx, dword [0x4e8824]
push edx
add esi, eax
mov eax, dword [0x4e8820]
push eax
mov eax, dword [0x4d87e8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x4d7bcc]
adc edi, ebx
add ecx, esi
adc edx, edi
push edx
push ecx
mov ecx, dword [0x4d7bc8]
push eax
push ecx
push edi
push esi
call fcn.00409920
call fcn.00447110
cmp byte [0x4eac4c], bl
jne 0x42c5c0
mov edx, dword [0x4e8918]
push ebx
push edx
push 0x4d87ec
call fcn.00434800
jmp 0x42c4ef
mov eax, dword [0x4e8918]
cmp eax, ebx
je 0x42c664
push ebx
push eax
push 0x4d87ec
call fcn.00434800
jmp 0x42c664
call fcn.0047a950
jmp 0x42c64f
call fcn.0042a560
cmp eax, ebx
je 0x42c604
cmp eax, 5
je 0x42c609
xor edx, edx
cmp eax, 3
sete dl
lea edx, [edx*4 + 2]
mov ebp, edx
cmp eax, 5
jne 0x42c664
mov ecx, dword [0x4d7bd0]
xor eax, eax
cmp eax, dword [0x4e8864]
jg 0x42c633
jl 0x42c623
cmp ecx, dword [0x4e8860]
ja 0x42c633
mov eax, 1
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c664
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42c664
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00438f90
cmp eax, ebx
je 0x42c664
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov ebp, ecx
mov cl, byte [0x4f673a]
xor bl, bl
cmp byte [0x4eac4c], bl
je 0x42c67a
test cl, cl
jne 0x42c67a
mov bl, 1
mov eax, dword [0x4e88ec]
xor edi, edi
cmp eax, edi
je 0x42c6c5
cmp eax, 1
jle 0x42c6be
cmp byte [0x4f6650], 0
jne 0x42c699
test cl, cl
jne 0x42c699
mov bl, 1
push 0x4e8d1c
push 0x4e891c
push 0x4f907c
push 0x4f8c7c
mov ecx, 0x4d76b4
call fcn.00429650
mov ebp, 0x32
jmp 0x42c6d4
mov ebp, 1
jmp 0x42c6d4
cmp ebp, 6
jne 0x42c6d4
mov ecx, 0x4d76b4
call fcn.00428df0
cmp byte [0x4e99a5], 0
je 0x42c7c4
push 0x4e99ac
lea edx, [esp + 0x24]
push edx
call fcn.00431400
mov eax, dword [0x4d7bc0]
and eax, dword [0x4d7bc4]
cmp eax, 0xffffffff
jne 0x42c70c
mov dword [0x4d7bc0], edi
mov dword [0x4d7bc4], edi
call fcn.00433c40
add dword [0x4d7bc0], 0xa
adc dword [0x4d7bc4], edi
call fcn.00433cd0
mov eax, dword [0x4d87e8]
and dword [eax + 0x28], 0xfffffffe
xor esi, esi
mov edi, edi
or eax, 0xffffffff
add dword [0x4e8800], eax
adc dword [0x4e8804], eax
js 0x42c761
jg 0x42c74b
cmp dword [0x4e8800], edi
jb 0x42c761
mov ecx, dword [0x4e87f8]
movzx dx, byte [ecx]
inc ecx
movzx eax, dx
mov dword [0x4e87f8], ecx
jmp 0x42c769
call fcn.00433f60
movzx eax, ax
mov byte [esp + esi + 0x10], al
inc esi
cmp esi, 0xa
jl 0x42c730
mov eax, dword [0x4d87e8]
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 0x42c803
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x42c790
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c803
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x42c803
cmp byte [0x4e99a5], 0
je 0x42c7c4
cmp byte [0x4e99a6], 0
je 0x42c7d4
mov ecx, dword [0x4e87f0]
not ecx
cmp ecx, dword [0x4e885c]
jne 0x42c803
cmp byte [0x4f673a], 0
je 0x42c86a
mov eax, dword [0x4e8838]
test eax, eax
je 0x42c861
movzx edx, word [0x4e8872]
push edx
call fcn.0042c130
cmp eax, ebp
jle 0x42c861
mov ebp, eax
jmp 0x42c861
cmp ebp, 1
jle 0x42c80d
cmp ebp, 2
jne 0x42c848
mov eax, dword [0x4d87e8]
test byte [eax + 0x28], 1
push 0x4e951c
je 0x42c82a
call fcn.0046ad90
push eax
push 0x1f8
jmp 0x42c835
call fcn.0046ad90
push eax
push 0x1f9
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0xc
cmp byte [0x4f6650], 0
jne 0x42c85c
cmp byte [0x4f673a], 0
jne 0x42c85c
mov bl, 1
mov ebp, 2
cmp byte [0x4f673a], 0
jne 0x42c88f
test ebp, ebp
je 0x42c881
mov ecx, dword [0x4e8904]
push ecx
call fcn.00432090
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4f673a], 0
jne 0x42c88f
call fcn.0047c020
test bl, bl
je 0x42c8a2
push 0x4e8d1c
push 0x4e891c
call fcn.00431a70
call fcn.00433c40
mov eax, ebp
jmp 0x42c8f4
push 0x4e951c
call fcn.0046ad90
push eax
push 0x342
call fcn.00461310
push eax
push 0x4f907c
call fcn.00493aa0
add esp, 0xc
call fcn.00433c40
cmp byte [0x4f673a], bl
jne 0x42c8ef
call fcn.0047c020
push 0x4e8d1c
push 0x4e891c
call fcn.00431a70
mov eax, 1
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a4b43
add esp, 0x424
ret