Function at 0x42aec1
Capabilities:
Clear file content

Disassembly:
sub esp, 0x424
mov eax, dword [0x4c0390]
xor eax, esp
mov dword [esp + 0x420], eax
push ebx
push ebp
xor ebx, ebx
push esi
xor ebp, ebp
push edi
mov dword [0x4da4c4], ebx
mov dword [0x4da4c0], ebx
mov dword [0x4da4c8], ebx
mov dword [0x4da5a8], 1
mov dword [0x4da4a8], 0xffffffff
cmp byte [0x4e586a], bl
jne 0x42ad98
call fcn.00432420
test eax, eax
je 0x42acfc
push 1
push 0x4da9d4
push 0x4da5d4
call fcn.004301a0
call fcn.00432420
test eax, eax
je 0x42acfc
push 0x4da5d4
push 0x4e75ac
mov ecx, 0x4c9364
call fcn.00428060
push 0x4da5d4
call fcn.0044e030
test al, al
je 0x42ac85
mov eax, 0x34
jmp 0x42b1ae
push 0x456
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
push 0x3ff
lea eax, [esp + 0x3c]
push 0x4da5d4
push eax
call fcn.0049f4b0
add esp, 0x14
push 1
push 0x4da5d4
mov byte [esp + 0x437], bl
call fcn.0044e0c0
push 1
push ebx
push 0x4da5d4
call fcn.004301a0
call fcn.00432420
test eax, eax
jne 0x42ac7b
push 0x4da5d4
lea ecx, [esp + 0x34]
push ecx
push 0x4ae
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0x10
cmp byte [0x4e586a], bl
jne 0x42ad98
mov edi, dword [0x4c987c]
mov esi, dword [0x4c9878]
push ebx
push 0x800
push edi
push esi
call fcn.0049f000
cmp edx, dword [0x4c9874]
jg 0x42ad98
jl 0x42ad33
cmp eax, dword [0x4c9870]
jae 0x42ad98
cmp edi, ebx
jl 0x42ad64
jg 0x42ad41
cmp esi, 0x5f5e100
jbe 0x42ad64
mov ecx, dword [0x4da4d0]
call fcn.0042e9a0
cmp edx, dword [0x4c9874]
jl 0x42ad98
jg 0x42ad5e
cmp eax, dword [0x4c9870]
jbe 0x42ad98
mov esi, dword [0x4c9878]
mov edx, dword [0x4da5bc]
push ebx
push esi
push edx
call fcn.0049fec5
mov eax, dword [0x4da5bc]
add esp, 0xc
push eax
call fcn.00430110
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [0x4da5bc]
push ebx
push ebx
push ecx
call fcn.0049fec5
add esp, 0xc
call fcn.00431af0
mov cx, word [0x4da50c]
movzx eax, cx
cmp eax, 9
ja case.0x42adb7.2
movzx edx, byte [eax + 0x42b1dc]
jmp dword [edx*4 + 0x42b1c8]
xor esi, esi
xor edi, edi
mov dword [0x4da5d0], ebx
mov dword [0x4da5cc], 0x4ca4a4
jmp 0x42ade0
or eax, 0xffffffff
add dword [0x4da4b8], eax
adc dword [0x4da4bc], eax
js 0x42ae0d
jg 0x42adfb
cmp dword [0x4da4b8], ebx
jb 0x42ae0d
mov ecx, dword [0x4da4b0]
movzx eax, byte [ecx]
inc ecx
mov dword [0x4da4b0], ecx
jmp 0x42ae12
call fcn.00431d50
cmp eax, 0xffffffff
je 0x42ae9c
cmp dword [0x4da5a4], ebx
jne 0x42ae9c
mov ecx, dword [0x4da5cc]
mov byte [ecx], al
mov eax, dword [0x4da5d0]
inc dword [0x4da5cc]
inc eax
mov dword [0x4da5d0], eax
cmp eax, 0x10000
jne 0x42ade0
mov edx, dword [0x4da4dc]
push edx
add esi, eax
mov eax, dword [0x4da4d8]
push eax
mov eax, dword [0x4ca4a0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x4c987c]
adc edi, ebx
add ecx, esi
adc edx, edi
push edx
push ecx
mov ecx, dword [0x4c9878]
push eax
push ecx
push edi
push esi
call fcn.004095d0
call fcn.00445340
cmp dword [0x4dc178], ebx
jne 0x42ae9c
mov edx, dword [0x4da5d0]
push ebx
push edx
push 0x4ca4a4
call fcn.00432590
jmp 0x42adc2
mov eax, dword [0x4da5d0]
cmp eax, ebx
je 0x42af40
push ebx
push eax
push 0x4ca4a4
call fcn.00432590
jmp 0x42af40
call fcn.00474100
jmp 0x42af2b
call fcn.00429090
cmp eax, ebx
je 0x42aee0
cmp eax, 5
je 0x42aee5
xor edx, edx
cmp eax, 3
sete dl
lea edx, [edx*4 + 2]
mov ebp, edx
cmp eax, 5
jne 0x42af40
mov ecx, dword [0x4c9880]
xor eax, eax
cmp eax, dword [0x4da51c]
jg 0x42af0f
jl 0x42aeff
cmp ecx, dword [0x4da518]
ja 0x42af0f
mov eax, 1
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42af40
xor eax, eax
neg eax
sbb eax, eax
add eax, 2
mov ebp, eax
jmp 0x42af40
xor eax, eax
cmp cx, 9
sete al
push eax
call fcn.00436c00
cmp eax, ebx
je 0x42af40
xor ecx, ecx
cmp eax, 3
sete cl
lea ecx, [ecx*4 + 2]
mov ebp, ecx
mov cl, byte [0x4e586a]
xor edi, edi
xor bl, bl
cmp dword [0x4dc178], edi
je 0x42af58
test cl, cl
jne 0x42af58
mov bl, 1
mov eax, dword [0x4da5a4]
cmp eax, edi
je 0x42af97
cmp eax, 1
jle 0x42af90
cmp byte [0x4e57b0], 0
jne 0x42af75
test cl, cl
jne 0x42af75
mov bl, 1
push 0x4da5d4
push 0x4e75ac
mov ecx, 0x4c9364
call fcn.00428180
mov ebp, 0x32
jmp 0x42afa6
mov ebp, 1
jmp 0x42afa6
cmp ebp, 6
jne 0x42afa6
mov ecx, 0x4c9364
call fcn.00428000
cmp byte [0x4db65d], 0
je 0x42b094
push 0x4db664
lea edx, [esp + 0x24]
push edx
call fcn.0042f6a0
mov eax, dword [0x4c9870]
and eax, dword [0x4c9874]
cmp eax, 0xffffffff
jne 0x42afde
mov dword [0x4c9870], edi
mov dword [0x4c9874], edi
call fcn.00431a60
add dword [0x4c9870], 0xa
adc dword [0x4c9874], edi
call fcn.00431af0
mov eax, dword [0x4ca4a0]
and dword [eax + 0x28], 0xfffffffe
xor esi, esi
or eax, 0xffffffff
add dword [0x4da4b8], eax
adc dword [0x4da4bc], eax
js 0x42b031
jg 0x42b01b
cmp dword [0x4da4b8], edi
jb 0x42b031
mov ecx, dword [0x4da4b0]
movzx dx, byte [ecx]
inc ecx
movzx eax, dx
mov dword [0x4da4b0], ecx
jmp 0x42b039
call fcn.00431d50
movzx eax, ax
mov byte [esp + esi + 0x10], al
inc esi
cmp esi, 0xa
jl 0x42b000
mov eax, dword [0x4ca4a0]
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 0x42b0cf
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x42b060
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42b0cf
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x42b0cf
cmp byte [0x4db65d], 0
je 0x42b094
cmp byte [0x4db65e], 0
je 0x42b0a4
mov ecx, dword [0x4da4a8]
not ecx
cmp ecx, dword [0x4da514]
jne 0x42b0cf
cmp byte [0x4e586a], 0
je 0x42b12a
mov eax, dword [0x4da4f0]
test eax, eax
je 0x42b121
movzx edx, word [0x4da52a]
push edx
call fcn.0042aa90
cmp eax, ebp
jle 0x42b121
mov ebp, eax
jmp 0x42b121
cmp ebp, 1
jle 0x42b0d9
cmp ebp, 2
jne 0x42b108
mov eax, dword [0x4ca4a0]
test byte [eax + 0x28], 1
push 0x4db1d4
je 0x42b0f0
push 0x1f8
jmp 0x42b0f5
push 0x1f9
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0xc
cmp byte [0x4e57b0], 0
jne 0x42b11c
cmp byte [0x4e586a], 0
jne 0x42b11c
mov bl, 1
mov ebp, 2
cmp byte [0x4e586a], 0
jne 0x42b14f
test ebp, ebp
je 0x42b141
mov ecx, dword [0x4da5bc]
push ecx
call fcn.00430110
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp byte [0x4e586a], 0
jne 0x42b14f
call fcn.00475660
test bl, bl
je 0x42b162
push 0x4da9d4
push 0x4da5d4
call fcn.0042fc50
call fcn.00431a60
mov eax, ebp
jmp 0x42b1ae
push 0x4db1d4
push 0x342
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 0xc
call fcn.00431a60
cmp byte [0x4e586a], bl
jne 0x42b1a9
call fcn.00475660
push 0x4da9d4
push 0x4da5d4
call fcn.0042fc50
mov eax, 1
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049e0c6
add esp, 0x424
ret