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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xb0
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
mov eax, ecx
xor eax, 0xffffffff
xor eax, 0xffffffff
and eax, 0xffffffff
shl eax, 1
sub eax, 0xffffffff
mov edx, ecx
sub edx, eax
xor ecx, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
or eax, esi
xor edx, 0xffffffff
xor ecx, 0xffffffff
or edx, ecx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov ecx, eax
and ecx, 0x80000
mov edx, eax
xor edx, 0xfff7ffff
add eax, edx
sub eax, ecx
xor eax, 0xffffffff
xor ecx, ecx
cmp eax, 0
je 0x42833c
jmp 0x428316
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
sub eax, 0xb9b58a41
sub eax, ecx
add eax, 0xb9b58a41
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x24]
setbe cl
jmp 0x42833c
and cl, 1
movzx eax, cl
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
sete al
test al, 1
jne 0x428356
jmp 0x42838c
jmp 0x428358
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
sub eax, dword [ecx + 0x8c]
cmp eax, 0x14ccc
setae al
test al, 1
jne 0x428379
jmp 0x42838c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x74]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x8c]
jmp 0x428395
mov eax, dword [esp + 0xc]
add eax, 0x39272
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
add eax, 0x14ccc
add eax, 0xfffffff0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x58], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x5c], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x38]
shr eax, cl
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x2c]
mov byte [ecx], al
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x38], 8
sete al
and al, 1
movzx eax, al
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x28]
xor esi, esi
sub esi, eax
add edx, esi
mov dword [ecx + 0x28], edx
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 8]
mov eax, edx
and eax, 0x1000
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or ecx, 0
and ecx, 0xffffffff
xor ecx, 0xffffffff
or ecx, 0xffffefff
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc5879c69
and eax, 0x3a786396
or ecx, eax
xor ecx, 0x3a786396
cmp ecx, 0
setne al
test al, 1
jne 0x428462
jmp 0x428604
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x64], 0
jne 0x428604
jmp 0x428472
mov dword [esp + 0xac], pe_nt_image_headers32
mov dword [esp + 0xa8], 8
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x48]
mov esi, eax
xor esi, 0xffffffff
mov edi, edx
and edi, esi
mov esi, edx
xor esi, eax
add edx, esi
sub edx, edi
mov dword [ecx + 0x48], edx
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
mov esi, ecx
and esi, edx
mov edi, esi
and edi, 0xfffffffd
mov ebx, esi
or ebx, 0xfffffffd
xor ebx, 0xffffffff
imul ebx, edi
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
add esi, ebx
xor ecx, edx
add ecx, esi
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x428550
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x42851b
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
add ecx, 0x5c1d5b1
sub ecx, 8
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x5c1d5b1
and ecx, 0xfa3e2a4e
sub ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x4284e9
jmp 0x428552
jmp 0x428554
jmp 0x428556
jmp 0x428558
jmp 0x42855a
jmp 0x42855c
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa0], 8
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
mov esi, edx
and esi, eax
or edx, eax
add esi, edx
mov dword [ecx + 0x44], esi
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x428600
jmp 0x4285b1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x4285c8
jmp 0x4285e4
jmp 0x4285ca
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x4285e4
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x4285a5
jmp 0x428602
jmp 0x428604
jmp 0x428606
jmp 0x428608
jmp 0x42860a
cmp dword [esp + 0x34], 4
sete al
and al, 1
movzx eax, al
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x4286a4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428686
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x428688
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x428654
jmp 0x4286a6
jmp 0x4286a8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x40], eax
cmp dword [esp + 0x38], 0
setne al
test al, 1
jne 0x428711
jmp 0x4286d7
jmp 0x4286d9
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
and eax, 0x40000
cmp eax, 0
setne cl
mov al, 1
test cl, 1
jne 0x4286ff
jmp 0x4286f4
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x3c], 0x30
setb al
and al, 1
movzx edx, al
mov ecx, dword [esp + 0xc]
call fcn.00430a00
mov dword [esp + 0x3c], eax
jmp 0x428713
cmp dword [esp + 0x38], 0
setne al
test al, 1
jne 0x42876e
jmp 0x428721
jmp 0x428723
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x3c], 0
setne al
test al, 1
jne 0x428737
jmp 0x428b6a
jmp 0x428739
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0x30]
add eax, 0x979243ce
sub eax, ecx
sub eax, 0x979243ce
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x3c]
setae al
test al, 1
jne 0x42876e
jmp 0x428b6a
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
xor ecx, 0xffffffff
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, ecx
add edx, eax
xor eax, eax
sub eax, edx
add eax, 1
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x24]
ja 0x428b6a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x44], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 2
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
mov ecx, edx
xor ecx, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
or ecx, edi
xor ecx, 0xffffffff
and ecx, 0xffffffff
or edx, esi
sub ecx, 0xbdd76ee6
add ecx, edx
add ecx, 0xbdd76ee6
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x42886f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428853
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x428821
jmp 0x428871
jmp 0x428873
jmp 0x428875
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
je 0x428936
jmp 0x428885
jmp 0x428887
jmp 0x428889
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0xc]
mov ecx, 8
sub ecx, dword [eax + 0x44]
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x48]
mov esi, eax
and esi, edx
xor esi, 0xffffffff
add edx, eax
add edx, 1
add edx, esi
mov dword [ecx + 0x48], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x428932
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428916
jmp 0x4288fc
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x428916
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x4288e0
jmp 0x428934
jmp 0x428936
jmp 0x428938
mov dword [esp + 0x10], 2
jmp 0x428942
cmp dword [esp + 0x10], 0
je 0x428a4a
jmp 0x42894f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x3c]
or eax, eax
xor eax, 0xffffffff
and eax, 0xffffffff
or eax, 0
or eax, 0xffff0000
xor eax, 0xffffffff
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], 0x10
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
mov esi, edx
and esi, eax
shl esi, 1
xor edx, eax
add edx, esi
mov dword [ecx + 0x44], edx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x428a11
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x4289e9
jmp 0x4289cf
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x4289e9
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
add ecx, 0xa41081c5
sub ecx, 8
sub ecx, 0xa41081c5
mov dword [eax + 0x44], ecx
jmp 0x4289b3
jmp 0x428a13
jmp 0x428a15
jmp 0x428a17
jmp 0x428a19
jmp 0x428a1b
jmp 0x428a1d
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x3c]
mov edx, ecx
and edx, 0xffff
shl edx, 1
add ecx, 0xffff
sub ecx, edx
mov dword [eax + 0x3c], ecx
jmp 0x428942
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x3c]
jae 0x428b66
jmp 0x428a65
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x10]
and edx, 0xffffffff
xor esi, esi
sub esi, edx
sub ecx, esi
mov edx, ecx
xor edx, 0xffff8000
and edx, ecx
movzx eax, byte [eax + edx + 0x90]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], 8
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
xor esi, esi
sub esi, ecx
mov ecx, edx
xor ecx, esi
xor esi, 0xffffffff
and edx, esi
shl edx, 1
sub edx, ecx
mov dword [eax + 0x44], edx
jmp 0x428ad7
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x428b44
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428b0d
jmp 0x428af3
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x428b0d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
add ecx, 0x6095e3df
add ecx, 1
sub ecx, 0x640a86c9
sub ecx, 8
add ecx, 0x640a86c9
add ecx, 0x9f6a1c20
mov dword [eax + 0x44], ecx
jmp 0x428ad7
jmp 0x428b46
jmp 0x428b48
jmp 0x428b4a
jmp 0x428b4c
mov eax, dword [esp + 0x10]
sub eax, 0x318d0f2e
sub eax, 0xffffffff
add eax, 0x318d0f2e
mov dword [esp + 0x10], eax
jmp 0x428a52
jmp 0x428b68
jmp 0x428ba6
cmp dword [esp + 0x3c], 0
jne 0x428ba0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x44], eax
mov ecx, dword [esp + 0xc]
mov edx, 1
call fcn.00430a00
jmp 0x428ba2
jmp 0x428ba4
jmp 0x428ba6
cmp dword [esp + 0x34], 0
je 0x42912d
cmp dword [esp + 0x34], 4
jne 0x428dd9
jmp 0x428bbe
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
setne al
test al, 1
jne 0x428bd2
jmp 0x428caf
jmp 0x428bd4
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x44]
xor ecx, ecx
sub ecx, eax
add ecx, 8
mov dword [esp + 0x70], ecx
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl esi, cl
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x48]
mov edi, edx
xor edi, esi
xor edi, 0xffffffff
mov ecx, edx
or ecx, esi
and ecx, edi
xor edx, esi
mov esi, ecx
or esi, edx
xor esi, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
mov dword [eax + 0x48], esi
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
xor esi, esi
sub esi, ecx
mov ecx, edx
xor ecx, esi
xor esi, 0xffffffff
and edx, esi
shl edx, 1
sub edx, ecx
mov dword [eax + 0x44], edx
jmp 0x428c4d
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x428c5e
jmp 0x428cab
jmp 0x428c60
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
setb al
test al, 1
jne 0x428c77
jmp 0x428c8f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x428c4b
jmp 0x428cad
jmp 0x428caf
jmp 0x428cb1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
and eax, 0x1000
cmp eax, 0
setne al
test al, 1
jne 0x428ccc
jmp 0x428dd4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0
jmp 0x428ce1
cmp dword [esp + 0x28], 4
setb al
test al, 1
jne 0x428cf2
jmp 0x428dd4
jmp 0x428cf4
mov eax, dword [esp + 0x24]
shr eax, 0x18
mov ecx, eax
xor ecx, 0xffffff00
and ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], 8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
or eax, dword [ecx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
xor eax, 0xffffffff
sub eax, 0xffffffff
sub edx, eax
mov dword [ecx + 0x44], edx
jmp 0x428d40
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x428d51
jmp 0x428d97
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428d79
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
jmp 0x428d7b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 8
mov dword [eax + 0x44], ecx
jmp 0x428d3e
jmp 0x428d99
jmp 0x428d9b
mov eax, dword [esp + 0x24]
shl eax, 8
mov dword [esp + 0x24], eax
jmp 0x428da8
mov eax, dword [esp + 0x28]
mov ecx, eax
xor ecx, 1
xor ecx, 0xffffffff
mov edx, eax
or edx, 1
and edx, ecx
mov ecx, eax
and ecx, 0xfffffffe
mov esi, eax
xor esi, 1
add eax, esi
sub eax, ecx
add edx, eax
mov dword [esp + 0x28], edx
jmp 0x428cdf
jmp 0x42912b
mov dword [esp + 0x1c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 3
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x48]
mov esi, eax
and esi, edx
xor esi, 0xffffffff
add edx, eax
add edx, 1
add edx, esi
mov dword [ecx + 0x48], edx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
xor eax, 0xffffffff
sub eax, 0xffffffff
sub edx, eax
mov dword [ecx + 0x44], edx
jmp 0x428e2e
jmp 0x428e30
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x428e41
jmp 0x428ea3
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428e69
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
mov edx, ecx
xor edx, 8
xor edx, 0xffffffff
and edx, 8
shl edx, 1
sub edx, 8
mov esi, ecx
sub esi, edx
and ecx, 0xfffffff7
shl ecx, 1
xor edx, edx
sub edx, esi
add ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x428e2e
jmp 0x428ea5
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
je 0x428fbe
jmp 0x428eb5
jmp 0x428eb7
jmp 0x428eb9
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0xc]
mov ecx, 8
sub ecx, dword [eax + 0x44]
mov dword [esp + 0x58], ecx
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl esi, cl
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
mov edx, esi
and edx, ecx
xor edx, 0xffffffff
xor edi, edi
sub edi, esi
sub ecx, edi
add ecx, 0x6167def3
add ecx, 1
sub ecx, 0x6167def3
xor edx, 0xffffffff
sub edx, 0xffffffff
sub ecx, edx
mov dword [eax + 0x48], ecx
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
mov ecx, edx
and ecx, edi
mov esi, edx
or esi, edi
xor esi, 0xffffffff
or edx, edi
xor edx, 0xffffffff
xor esi, 0xffffffff
xor edx, 0xffffffff
and esi, edx
add ecx, esi
mov dword [eax + 0x44], ecx
jmp 0x428f36
jmp 0x428f38
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x428f49
jmp 0x428fb6
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x428f71
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
mov edx, ecx
xor edx, 0xffffffff
xor edx, 0xffffffff
and edx, 0xffffffff
shl edx, 1
sub edx, 0xffffffff
mov esi, ecx
sub esi, edx
and esi, 8
and ecx, 0xfffffff7
sub ecx, 0xf0af834a
sub ecx, esi
add ecx, 0xf0af834a
mov dword [eax + 0x44], ecx
jmp 0x428f36
jmp 0x428fb8
jmp 0x428fba
jmp 0x428fbc
jmp 0x428fbe
jmp 0x428fc0
mov dword [esp + 0x20], 2
jmp 0x428fca
jmp 0x428fcc
cmp dword [esp + 0x20], 0
setne al
test al, 1
jne 0x428fdd
jmp 0x429127
jmp 0x428fdf
mov edx, dword [esp + 0x1c]
mov eax, edx
and eax, 1
mov ecx, edx
or ecx, 1
add eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x3f48e79f
and edx, 0xc0b71860
or ecx, edx
xor ecx, 0xc0b71860
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xffff0000
xor ecx, 0xffffffff
and ecx, 0xffff0000
or edx, ecx
xor edx, 0xffffffff
add edx, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
shl eax, cl
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x48]
mov esi, edx
and esi, eax
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
or edi, ebx
and esi, edi
xor esi, 0xffffffff
xor edx, eax
or esi, edx
mov dword [ecx + 0x48], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
jmp 0x429072
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x429083
jmp 0x4290e0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x4290ab
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x30]
mov esi, edx
add esi, 1
mov dword [ecx + 0x30], esi
mov byte [edx], al
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
shr ecx, 8
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 0xa8c34473
sub ecx, 8
mov edx, ecx
and edx, 0xa8c34473
shl edx, 1
xor ecx, 0xa8c34473
add ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x429070
jmp 0x4290e2
jmp 0x4290e4
jmp 0x4290e6
jmp 0x4290e8
jmp 0x4290ea
mov eax, dword [esp + 0x20]
add eax, 0xffffffff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and ecx, 0xffff
or eax, 0xffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x428fca
jmp 0x429129
jmp 0x42912b
jmp 0x42912d
mov eax, dword [esp + 0xc]
add eax, 0x8192
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x240
call fcn.00452cd0
mov eax, dword [esp + 0xc]
add eax, 0x8192
add eax, 0x240
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x40
call fcn.00452cd0
mov eax, dword [esp + 0xc]
add eax, 0x9272
add eax, 1
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0xc]
add eax, 0x9272
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x38], 8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x64]
add ecx, 1
mov dword [eax + 0x64], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, eax
xor edx, 0xffffffff
and edx, ecx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edx
mov dword [esp + 0x14], eax
cmp eax, 0
je 0x429375
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
je 0x42927b
jmp 0x429200
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x84]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x70]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x78]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
add esi, 0x39272
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call eax
cmp eax, 0
setne al
test al, 1
jne 0x429276
jmp 0x429256
mov eax, dword [esp + 0xc]
mov dword [eax + 0x6c], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 1
jmp 0x42938c
jmp 0x429373
jmp 0x42927d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
add ecx, 0x39272
cmp eax, ecx
sete al
test al, 1
jne 0x429299
jmp 0x429359
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x7c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xc]
sub ecx, dword [edx + 0x8c]
cmp eax, ecx
jae 0x4292ba
mov eax, dword [esp + 0x14]
jmp 0x4292db
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x8c]
mov edx, eax
xor edx, 0xffffffff
and edx, ecx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x74]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x8c]
mov ecx, dword [esp + 0xc]
add ecx, 0x39272
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004521d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x8c]
mov dword [ecx + 0x8c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add ecx, 0xa538e353
sub ecx, eax
sub ecx, 0xa538e353
mov dword [esp + 0x14], ecx
cmp ecx, 0
je 0x429357
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x5c], eax
jmp 0x42936d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x8c]
mov dword [ecx + 0x8c], eax
jmp 0x42936f
jmp 0x429371
jmp 0x429373
jmp 0x429375
jmp 0x429377
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 1
jmp 0x42938c
mov eax, dword [esp + 0x48]
add esp, 0xb0
pop esi
pop edi
pop ebx
ret