Function at 0x42e7e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x14
push esi
mov esi, ecx
inc dword [esi + 0x5c]
mov edx, dword [esi + 0x5c]
cmp edx, dword [esi + 0x58]
jne 0x42e803
sub edx, dword [esi + 0x54]
push edx
push 8
call fcn.00429970
xor al, al
pop esi
add esp, 0x14
ret
push ebx
push ebp
mov ebp, dword [esi]
mov ebx, dword [ebp + 0x14]
test ebx, 0x203
je 0x42e820
mov eax, ebx
and eax, 0x1003
cmp eax, 0x1001
jne 0x42e83c
mov eax, dword [esi + 4]
movzx ecx, byte [edx]
mov eax, dword [eax]
cmp byte [eax + ecx + 4], 8
jne 0x42e83c
pop ebp
pop ebx
mov ecx, esi
pop esi
add esp, 0x14
jmp 0x42eb80
push edi
xor edi, edi
test ebx, 0x400000
jne 0x42e876
inc dword [esi + 0x60]
test dword [ebp + 0x14], 0x800000
mov edi, dword [esi + 0x60]
je 0x42e876
sub edx, dword [esi + 0x54]
lea eax, [esp + 0x1c]
dec edx
push eax
lea ecx, [ebp + 0x144]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0
call fcn.00430a90
push 0x10
push 0
mov ecx, esi
call fcn.004276f0
mov ebp, eax
mov dword [ebp + 8], edi
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [ebp + 0xc], cl
mov edx, dword [esi]
mov eax, dword [esi + 0x70]
mov ecx, dword [edx + 0x13c]
sub ebp, dword [edx + 0x138]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x138]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x13c]
sub eax, dword [ecx + 0x138]
mov dword [esi + 0x70], eax
mov al, byte [esi + 0x74]
mov ebx, dword [ecx + 0x14]
mov byte [esp + 0x13], al
mov eax, dword [esi + 0x64]
mov dword [esp + 0x14], ebx
mov byte [esi + 0x74], 0
mov dword [esp + 0x18], eax
mov dword [esi + 0x64], 0xffffffff
mov eax, dword [esi + 0x5c]
cmp eax, dword [esi + 0x58]
je 0x42e903
mov eax, dword [esi + 0x50]
mov ecx, esi
call eax
test al, al
jne 0x42e8f0
push ebp
mov ecx, esi
call fcn.00431fe0
test al, al
je 0x42e965
cmp byte [esi + 0x74], 0
je 0x42e92d
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.004276f0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x14], ebx
shr ebx, 0x14
and bl, 1
cmp byte [esi + 0xc], bl
je 0x42e940
mov byte [esi + 0xc], bl
mov al, byte [esp + 0x13]
mov ebx, dword [esi + 0x5c]
mov byte [esi + 0x74], al
mov eax, dword [esp + 0x18]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
cmp ebx, eax
jne 0x42e96f
sub eax, dword [esi + 0x54]
mov ecx, esi
push eax
push 8
call fcn.00429970
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0x14
ret
test edi, edi
je 0x42e993
mov ecx, dword [esi]
test dword [ecx + 0x14], 0x800000
je 0x42e993
sub ebx, dword [esi + 0x54]
lea eax, [edi - 1]
push eax
add ecx, 0x144
call fcn.00427960
mov dword [eax + 4], ebx
inc dword [esi + 0x5c]
push 0x10
push 1
mov ecx, esi
call fcn.004276f0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x1c]
lea ecx, [edi - 1]
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x70], eax
cmp ecx, 0x1e
ja 0x42e9ce
mov eax, 1
shl eax, cl
or dword [esi + 0x18], eax
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0x14
ret
push 0xffffffffffffffff
push 0x435267
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x44c054]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44c054]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov ebp, ecx
inc dword [ebp + 0x5c]
mov edx, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x58]
mov ebx, dword [ebp + 4]
lea esi, [ebp + 0x5c]
cmp edx, edi
jne 0x42ebf9
lea edi, [edx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [ebx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx edx, byte [edi]
mov eax, dword [ebx]
cmp byte [edx + eax + 4], 1
jne 0x42ebe5
jmp 0x42fd22
movzx eax, byte [edx]
mov ecx, dword [ebx]
mov al, byte [eax + ecx + 4]
cmp al, 0xd
jne 0x42ec22
cmp edx, edi
je 0x42ec1b
mov al, byte [edx]
inc edx
movzx ecx, al
mov dword [esi], edx
mov eax, dword [ebx]
cmp byte [ecx + eax + 4], 2
jne 0x42ec06
mov al, 1
jmp 0x42fd33
xor eax, eax
push 0x10
push eax
mov ecx, ebp
mov dword [esp + 0x2c], eax
call fcn.004276f0
mov ecx, eax
mov eax, dword [ebp]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x14]
shr eax, 0x14
and al, 1
mov byte [ecx + 0xc], al
mov edx, dword [ebp]
mov eax, dword [ebp + 0x70]
sub ecx, dword [edx + 0x138]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x138]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0x13c]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
mov eax, dword [ebp]
mov edi, dword [esi]
mov ecx, dword [eax + 0x13c]
sub ecx, dword [eax + 0x138]
mov edx, dword [ebp + 4]
mov dword [ebp + 0x70], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov al, byte [ebp + 0x74]
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x68], eax
mov byte [ebp + 0x74], 0
mov dword [ebp + 0x64], 0xffffffff
mov bl, byte [edi]
movzx eax, bl
mov dword [esp + 0x30], ecx
mov ecx, dword [edx]
mov byte [esp + 0x22], 1
mov al, byte [eax + ecx + 4]
movzx eax, al
dec eax
mov byte [esp + 0x23], bl
cmp eax, 0x34
ja case.0x42ece6.3
movzx eax, byte [eax + 0x42fd90]
jmp dword [eax*4 + 0x42fd5c]
mov ebx, dword [ebp + 0x60]
mov dword [ebp + 0x64], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0
mov dword [eax + 8], 0
inc dword [esi]
jmp 0x42f95d
push edx
push 0xa
push dword [ebp + 0x58]
push esi
call fcn.00421f20
mov edi, eax
add esp, 0x10
test edi, edi
js 0x42ed38
mov eax, dword [ebp + 4]
mov ecx, dword [eax]
mov eax, dword [esi]
movzx eax, byte [eax]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f8a7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42ed60
lea esp, [esp]
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42ed50
push 0x43eb80
lea ecx, [esp + 0x64]
call fcn.00402326
lea eax, [esp + 0x60]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 0x14
mov dword [esp + 0xd8], 0
call fcn.00429a30
lea ecx, [esp + 0x60]
call fcn.004023b1
jmp 0x42fd31
push edx
push 0xa
push dword [ebp + 0x58]
lea eax, [edi + 1]
push esi
mov dword [esi], eax
call fcn.00421f20
mov edi, eax
add esp, 0x10
test edi, edi
jle 0x42edcf
mov eax, dword [ebp + 4]
mov ecx, dword [eax]
mov eax, dword [esi]
movzx eax, byte [eax]
mov al, byte [eax + ecx + 4]
cmp al, 2
jne 0x42edcf
add edi, dword [ebp + 0x60]
jmp 0x42f8a7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42edf3
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42ede3
push 0x43ebd8
lea ecx, [esp + 0x7c]
call fcn.00402326
lea eax, [esp + 0x78]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 0x14
mov dword [esp + 0xd8], 1
call fcn.00429a30
lea ecx, [esp + 0x78]
call fcn.004023b1
jmp 0x42fd31
push edx
push 0xa
push dword [ebp + 0x58]
lea eax, [edi + 1]
push esi
mov dword [esi], eax
call fcn.00421f20
add esp, 0x10
test eax, eax
jg 0x42ee86
dec dword [esi]
mov ecx, ebp
call fcn.0042e9e0
mov edx, dword [esi]
mov ebx, eax
cmp edx, dword [ebp + 0x58]
jne 0x42f8d8
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42ee72
jmp 0x42fd22
mov edi, dword [ebp + 0x60]
sub edi, eax
inc edi
test edi, edi
jg 0x42f8a7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42eeb8
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42eea8
push 0x43ebd8
lea ecx, [esp + 0x94]
call fcn.00402326
lea eax, [esp + 0x90]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 0x14
mov dword [esp + 0xd8], 2
call fcn.00429a30
lea ecx, [esp + 0x90]
call fcn.004023b1
jmp 0x42fd31
mov eax, dword [esp + 0x1c]
push 0xc
mov dword [eax + 8], 0xffffffff
inc dword [esi]
push 0x10
mov ecx, ebp
mov dword [esp + 0x1c], 0xffffffff
call fcn.004276f0
mov edx, dword [ebp]
mov edi, eax
mov ecx, dword [edx + 0x138]
mov eax, dword [edx + 0x13c]
sub edi, dword [edx + 0x138]
sub eax, ecx
add eax, 3
and eax, 0xfffffffc
add eax, ecx
mov dword [edx + 0x13c], eax
mov dword [esp + 0x24], edi
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x13c]
sub eax, dword [ecx + 0x138]
mov dword [ebp + 0x70], eax
jmp 0x42f960
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffe
mov dword [eax + 8], 0xfffffffe
inc dword [esi]
push 0xc
push 0x10
mov ecx, ebp
call fcn.004276f0
mov edx, dword [ebp]
mov edi, eax
mov eax, dword [edx + 0x138]
mov ecx, dword [edx + 0x13c]
sub edi, dword [edx + 0x138]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
jmp 0x42ef43
inc edi
mov dword [esi], edi
cmp edi, dword [ebp + 0x58]
jne 0x42efd6
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42efc2
jmp 0x42fd22
movzx eax, byte [edi]
mov ecx, dword [edx]
mov al, byte [eax + ecx + 4]
cmp al, 0x35
jne 0x42eff8
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffe
mov dword [eax + 8], 0xfffffffe
jmp 0x42f00e
cmp al, 0x25
jne 0x42f05b
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], 0xffffffff
inc dword [esi]
push 0xc
push 0x10
mov ecx, ebp
call fcn.004276f0
mov edi, eax
mov eax, dword [ebp]
push 0x10
sub edi, dword [eax + 0x138]
push 0x1a
mov ecx, ebp
mov dword [esp + 0x2c], edi
call fcn.004276f0
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
add ecx, 3
and ecx, 0xfffffffc
add ecx, dword [edx + 0x138]
mov dword [edx + 0x13c], ecx
jmp 0x42ef47
lea eax, [edi - 1]
mov byte [esp + 0x23], 0x3e
mov dword [esi], eax
mov ecx, dword [ebp]
xor ebx, ebx
test dword [ecx + 0x14], 0x400000
mov dword [esp + 0x14], ebx
jne 0x42f0af
mov ebx, dword [ebp + 0x60]
inc ebx
mov dword [ebp + 0x60], ebx
test dword [ecx + 0x14], 0x800000
mov dword [esp + 0x14], ebx
je 0x42f0af
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
add ecx, 0x144
add eax, 0xfffffffe
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x48], 0
call fcn.00430a90
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], ebx
inc dword [esi]
mov eax, dword [esi]
mov edx, dword [ebp + 0x58]
mov edi, eax
cmp eax, edx
jne 0x42f6f4
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
nop
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f0e0
jmp 0x42fd22
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffd
mov dword [eax + 8], 0xfffffffd
jmp 0x42ef71
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffc
mov dword [eax + 8], 0xfffffffc
inc dword [esi]
mov edx, dword [esi]
mov eax, dword [ebp + 0x58]
cmp edx, eax
jne 0x42f154
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f140
jmp 0x42fd22
push dword [ebp + 4]
push 0xa
push eax
push esi
call fcn.00421f20
mov edi, dword [esi]
add esp, 0x10
mov bl, byte [edi]
mov dword [esp + 0x1c], eax
cmp bl, 0x52
jne 0x42f2b7
lea eax, [edi + 1]
mov edi, dword [ebp + 0x58]
mov dword [esi], eax
cmp eax, edi
jne 0x42f1ac
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f198
jmp 0x42fd22
cmp byte [eax], 0x26
jne 0x42f220
lea ecx, [eax + 1]
mov dword [esp + 0x1c], ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x42f1dd
mov ebx, dword [ebp + 4]
mov edx, dword [esi]
mov ecx, dword [ebx]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f1d9
lea eax, [edx + 1]
mov dword [esi], eax
cmp eax, edi
jne 0x42f1c1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
cmp eax, edi
jne 0x42f214
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
jmp 0x42f200
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f200
jmp 0x42fd22
push eax
push ecx
call fcn.00421fc0
add esp, 8
jmp 0x42f22f
push dword [ebp + 4]
push 0xa
push edi
push esi
call fcn.00421f20
add esp, 0x10
push 0x10
mov edi, eax
push 0x1b
mov ecx, ebp
neg edi
call fcn.004276f0
test edi, edi
jns 0x42f245
dec edi
jmp 0x42f247
xor edi, edi
mov dword [eax + 8], edi
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f284
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
nop
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f270
jmp 0x42fd22
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x42f95d
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f2a3
jmp 0x42fd22
cmp bl, 0x27
je 0x42f56e
cmp bl, 0x3c
je 0x42f56e
cmp bl, 0x44
jne 0x42f3b4
mov edi, dword [ebp + 0x58]
mov ecx, 0x43ec2c
lea ebx, [ebx]
mov edx, dword [esi]
cmp edx, edi
je 0x42f2f7
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42f2f7
lea eax, [edx + 1]
inc ecx
mov dword [esi], eax
cmp byte [ecx], 0
jne 0x42f2e0
mov edx, dword [esi]
cmp edx, edi
je 0x42f388
cmp byte [ecx], 0
jne 0x42f388
push 0x10
push 0x1b
mov ecx, ebp
call fcn.004276f0
mov dword [eax + 8], 0x270f
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f355
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f341
jmp 0x42fd22
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x42f95d
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f374
jmp 0x42fd22
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
mov edi, edi
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f3a0
jmp 0x42fd22
test eax, eax
jle 0x42f43a
push 0x10
push 0x1b
mov ecx, ebp
call fcn.004276f0
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f407
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f3f3
jmp 0x42fd22
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x42f95d
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f426
jmp 0x42fd22
mov edx, dword [ebp + 4]
movzx eax, bl
mov ecx, dword [edx]
mov al, byte [eax + ecx + 4]
cmp al, 8
je 0x42f474
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
lea ecx, [ecx]
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f460
jmp 0x42fd22
lea ecx, [edi + 1]
mov dword [esi], ecx
cmp ecx, dword [ebp + 0x58]
jne 0x42f4a7
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f493
jmp 0x42fd22
movzx edi, byte [ecx]
mov ebx, dword [edx]
mov al, byte [edi + ebx + 4]
cmp al, 0x14
jne 0x42f52e
inc ecx
mov dword [esi], ecx
cmp ecx, dword [ebp + 0x58]
jne 0x42f4e9
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f4d5
jmp 0x42fd22
movzx edi, byte [ecx]
mov ebx, dword [edx]
mov al, byte [ebx + edi + 4]
cmp al, 0x25
je 0x42f524
cmp al, 0x35
je 0x42f524
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
nop
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f510
jmp 0x42fd22
lea eax, [ecx - 3]
mov dword [esi], eax
jmp 0x42f95d
cmp al, 0x25
je 0x42f564
cmp al, 0x35
je 0x42f564
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
jmp 0x42f550
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f550
jmp 0x42fd22
lea eax, [ecx - 2]
mov dword [esi], eax
jmp 0x42f95d
mov edx, dword [ebp + 0x58]
lea eax, [edi + 1]
mov dword [esi], eax
mov edi, eax
cmp eax, edx
je 0x42f593
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x42f593
cmp cl, 0x27
je 0x42f593
inc eax
mov dword [esi], eax
cmp eax, edx
jne 0x42f580
mov eax, dword [esi]
cmp eax, edx
jne 0x42f5c5
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f5b1
jmp 0x42fd22
push eax
push edi
call fcn.00421fc0
add esp, 8
mov ecx, ebp
push 0x10
push 0x1b
mov edi, eax
call fcn.004276f0
mov dword [eax + 8], edi
mov edx, dword [esi]
mov al, byte [edx]
cmp al, 0x3e
je 0x42f5eb
cmp al, 0x27
jne 0x42f5f5
mov ebx, dword [ebp + 0x58]
inc edx
mov dword [esi], edx
cmp edx, ebx
jne 0x42f65b
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42f620
lea esp, [esp]
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42f610
push 0x43ec10
lea ecx, [esp + 0x4c]
call fcn.00402326
mov dword [esp + 0xcc], 3
lea eax, [esp + 0x48]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 0x14
call fcn.00429a30
lea ecx, [esp + 0x48]
call fcn.004023b1
jmp 0x42fd31
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f694
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
mov edi, edi
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f680
jmp 0x42fd22
inc edx
mov dword [esi], edx
cmp edx, ebx
jne 0x42f95d
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f6b2
jmp 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
lea esp, [esp]
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f6e0
jmp 0x42fd22
mov cl, byte [esp + 0x23]
cmp byte [eax], cl
je 0x42f703
inc eax
mov dword [esi], eax
cmp eax, edx
jne 0x42f6f8
mov eax, dword [esi]
cmp eax, edx
jne 0x42f735
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f721
jmp 0x42fd22
mov ecx, dword [ebp]
push ebx
push eax
push edi
call fcn.00422d50
inc dword [esi]
jmp 0x42f95d
cmp bl, 0x52
jne 0x42f794
lea ebx, [edi + 1]
mov dword [esi], ebx
movzx eax, byte [ebx]
mov ecx, dword [edx]
xor edi, edi
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f8a7
lea edi, [ebx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
lea esp, [esp]
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f780
jmp 0x42fd22
cmp bl, 0x26
jne 0x42f7fb
mov ebx, dword [ebp + 0x58]
inc edi
mov ecx, edi
mov dword [esi], edi
mov dword [esp + 0x14], ecx
cmp edi, ebx
je 0x42f7c8
lea esp, [esp]
movzx eax, byte [edi]
mov ecx, dword [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f7c4
inc edi
mov dword [esi], edi
cmp edi, ebx
jne 0x42f7b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
cmp eax, ebx
jne 0x42f89b
lea edi, [eax - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f7e7
jmp 0x42fd22
cmp bl, 0x50
jne 0x42ee48
mov ebx, dword [ebp + 0x58]
inc edi
mov dword [esi], edi
cmp edi, ebx
jne 0x42f835
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f821
jmp 0x42fd22
cmp byte [edi], 0x3e
jne 0x42ee48
lea ecx, [edi + 1]
mov dword [esp + 0x14], ecx
mov dword [esi], ecx
cmp ecx, ebx
je 0x42f86c
jmp 0x42f850
mov edi, dword [esi]
mov ecx, dword [edx]
movzx eax, byte [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x42f868
lea eax, [edi + 1]
mov dword [esi], eax
cmp eax, ebx
jne 0x42f850
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
cmp eax, ebx
jne 0x42f89b
lea edi, [eax - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edi
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x42f887
jmp 0x42fd22
push eax
push ecx
call fcn.00421fc0
mov edi, eax
add esp, 8
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push 0x10
push 0x1d
mov ecx, ebp
mov dword [eax + 8], 0
call fcn.004276f0
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov eax, dword [ebp]
mov ebx, dword [eax + 0x14]
jmp 0x42f949
mov eax, dword [ebp]
mov ecx, ebx
mov eax, dword [eax + 0x14]
shr eax, 0x14
shr ecx, 0x14
xor cl, al
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
and cl, 1
mov byte [ebp + 0x74], cl
mov dword [eax + 8], 0
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx ecx, byte [edx]
mov eax, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
jne 0x42f92b
push ebx
mov ecx, ebp
call fcn.0042a2e0
mov al, byte [esp + 0x1b]
or al, byte [ebp + 0x74]
mov byte [esp + 0x22], 0
mov byte [esp + 0x1b], al
jmp 0x42f943
mov eax, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 0x24
jne 0x42fd04
push ebx
mov ecx, ebp
call fcn.0042a2e0
inc dword [esi]
cmp byte [ebp + 0x74], 0
je 0x42f95d
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, ebp
and bl, 1
call fcn.004276f0
mov byte [eax + 8], bl
xor edi, edi
nop
mov eax, dword [esi]
cmp eax, dword [ebp + 0x58]
je 0x42f972
mov eax, dword [ebp + 0x50]
mov ecx, ebp
call eax
test al, al
jne 0x42f960
push dword [esp + 0x2c]
mov ecx, ebp
call fcn.00431fe0
test al, al
jne 0x42f9c3
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42f9a5
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42f995
push 0x43ec34
lea ecx, [esp + 0x4c]
call fcn.00402326
mov dword [esp + 0xcc], 4
jmp 0x42f639
mov eax, dword [esi]
mov ebx, dword [ebp + 0x58]
cmp eax, ebx
jne 0x42f9fa
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42f9ef
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42f9e0
sub ebx, dword [ebp + 0x54]
push ebx
push 8
jmp 0x42fd2a
inc eax
cmp byte [esp + 0x22], 0
mov dword [esi], eax
je 0x42fa2d
cmp byte [ebp + 0x74], 0
je 0x42fa22
mov ebx, dword [esp + 0x28]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, ebp
and bl, 1
call fcn.004276f0
mov byte [eax + 8], bl
push dword [esp + 0x28]
mov ecx, ebp
call fcn.0042a2e0
test edi, edi
je 0x42fabe
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
add ecx, 3
and ecx, 0xfffffffc
add ecx, dword [edx + 0x138]
mov dword [edx + 0x13c], ecx
mov ecx, dword [ebp]
mov edx, dword [esp + 0x24]
mov edi, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
add edx, edi
sub eax, edi
sub eax, edx
add eax, edi
mov dword [edx + 8], eax
cmp dword [ebp + 8], edx
jne 0x42fabe
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42faa0
lea ecx, [ecx]
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42fa90
push 0x43ec68
lea ecx, [esp + 0x4c]
call fcn.00402326
mov dword [esp + 0xcc], 5
jmp 0x42f639
mov ebx, dword [esp + 0x14]
cmp ebx, 0xfffffffc
jne 0x42fc7b
mov eax, dword [ebp]
mov edi, dword [esp + 0x30]
mov ecx, dword [eax + 0x138]
add ecx, edi
cmp dword [ecx], 0x11
je 0x42fb95
push pe_nt_image_headers32
push 0x11
push edi
mov ecx, ebp
call fcn.0042a9b0
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
sub ecx, eax
add ecx, dword [edx + 0x138]
mov dword [eax + 8], ecx
mov eax, dword [ebp]
mov eax, dword [eax + 0x138]
add eax, edi
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x42fc7b
test eax, eax
je 0x42fc7b
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42fb51
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42fb41
push 0x43ed28
lea ecx, [esp + 0xac]
call fcn.00402326
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 0xd
mov dword [esp + 0xd8], 8
call fcn.00429a30
lea ecx, [esp + 0xa8]
call fcn.004023b1
jmp 0x42fd31
mov eax, dword [ecx + 8]
cmp dword [ecx + eax], 0x11
jne 0x42fbfd
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42fbc2
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42fbb2
push 0x43ec90
lea ecx, [esp + 0x4c]
call fcn.00402326
lea eax, [esp + 0x48]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 2
mov dword [esp + 0xd8], 6
call fcn.00429a30
lea ecx, [esp + 0x48]
call fcn.004023b1
jmp 0x42fd31
add ecx, dword [ecx + 4]
cmp dword [ecx], 0x1b
jne 0x42fb0c
cmp dword [ecx + 8], 0x270f
jne 0x42fb0c
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x42fc40
lea ebx, [ebx]
dec edx
mov dword [esi], edx
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x42fc30
push 0x43ece8
lea ecx, [esp + 0x4c]
call fcn.00402326
lea eax, [esp + 0x48]
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
mov ecx, ebp
push eax
push 2
mov dword [esp + 0xd8], 7
call fcn.00429a30
lea ecx, [esp + 0x48]
call fcn.004023b1
jmp 0x42fd31
push 0x10
push 1
mov ecx, ebp
call fcn.004276f0
mov dword [eax + 8], ebx
mov ecx, dword [ebp]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x6c], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x70], eax
mov al, byte [esp + 0x1b]
mov byte [ebp + 0x74], al
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x60]
jbe 0x42fcb8
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x64], eax
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x68], eax
test ebx, ebx
jle 0x42fd00
mov ecx, dword [ebp]
test dword [ecx + 0x14], 0x800000
je 0x42fcee
mov esi, dword [esi]
sub esi, dword [ebp + 0x54]
lea eax, [ebx - 1]
push eax
add ecx, 0x144
dec esi
call fcn.00427960
mov dword [eax + 4], esi
cmp ebx, 0x20
jge 0x42fd00
lea ecx, [ebx - 1]
mov eax, 1
shl eax, cl
or dword [ebp + 0x18], eax
mov al, 1
jmp 0x42fd33
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x42fd22
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
jne 0x42fd13
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
push eax
push 0x14
mov ecx, ebp
call fcn.00429970
xor al, al
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.0041d508
add esp, 0xbc
ret