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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
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 ecx, 0xffffffff
and ecx, 0xffffffff
or ecx, 0
and eax, ecx
xor eax, 0xffffffff
and eax, 0xffffffff
or eax, 0
mov ecx, eax
xor ecx, 0x80000
xor ecx, 0xffffffff
or eax, 0x80000
and eax, ecx
xor ecx, ecx
cmp eax, 0
je 0x42f8e0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x40]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov esi, edx
and esi, 0xffffffff
shl esi, 1
add edx, 0xffffffff
sub edx, esi
and eax, edx
sub eax, ecx
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x24]
setbe cl
and cl, 1
movzx eax, cl
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
jne 0x42f94b
jmp 0x42f8f5
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x8c]
and ecx, ecx
xor ecx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
sub eax, 0x7f90b057
add eax, ecx
add eax, 0x7f90b057
add eax, 1
cmp eax, 0x14ccc
setae al
test al, 1
jne 0x42f936
jmp 0x42f94b
jmp 0x42f938
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x74]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x8c]
jmp 0x42f958
jmp 0x42f94d
mov eax, dword [esp + 0xc]
add eax, 0x39272
jmp 0x42f958
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 eax, 0
xor esi, esi
sub esi, eax
add edx, esi
mov dword [ecx + 0x28], edx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
and eax, 0x1000
cmp eax, 0
je 0x42fbb8
jmp 0x42f9e9
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x64], 0
setne al
test al, 1
jne 0x42fbb8
jmp 0x42f9fe
jmp 0x42fa00
jmp 0x42fa02
jmp 0x42fa04
mov dword [esp + 0xb0], 0x78
mov dword [esp + 0xac], 8
mov eax, dword [esp + 0xb0]
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 + 0xac]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
sub edx, 0x56cca396
add edx, eax
add edx, 0x56cca396
mov dword [ecx + 0x44], edx
jmp 0x42fa55
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x42fad1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x42fa87
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 0x42fa89
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, 0xc3d0762e
sub ecx, 0xaec1e2f0
add ecx, 0xc3d0762e
mov edx, ecx
xor edx, 8
and ecx, 0xfffffff7
shl ecx, 1
sub ecx, edx
mov edx, ecx
and edx, 0xaec1e2f0
or ecx, 0xaec1e2f0
add edx, ecx
mov dword [eax + 0x44], edx
jmp 0x42fa55
jmp 0x42fad3
jmp 0x42fad5
jmp 0x42fad7
jmp 0x42fad9
mov dword [esp + 0xa8], 1
mov dword [esp + 0xa4], 8
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl esi, cl
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x48]
mov ecx, edx
xor ecx, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
or ecx, edi
xor ecx, 0xffffffff
and ecx, 0xffffffff
mov edi, edx
and edi, esi
shl edi, 1
add edx, esi
sub edx, edi
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and esi, edi
or ecx, edx
xor ecx, 0xffffffff
xor esi, 0xffffffff
xor ecx, 0xffffffff
and esi, ecx
mov dword [eax + 0x48], esi
mov eax, dword [esp + 0xa4]
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 0x42fbb4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x42fb82
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 0x42fb84
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, 0xd7e7c842
sub ecx, 8
xor edx, edx
sub edx, ecx
add edx, 0x281837be
xor ecx, ecx
sub ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x42fb50
jmp 0x42fbb6
jmp 0x42fbb8
jmp 0x42fbba
jmp 0x42fbbc
jmp 0x42fbbe
cmp dword [esp + 0x34], 4
sete al
and al, 1
movzx eax, al
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], 1
mov eax, dword [esp + 0xa0]
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 edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
sub ecx, 0x62f209e1
sub ecx, 0x80e6d86d
add ecx, 0x62f209e1
add ecx, 0x6bb33c6f
add ecx, edx
sub ecx, 0x6bb33c6f
mov edx, ecx
and edx, 0x80e6d86d
or ecx, 0x80e6d86d
add edx, ecx
mov dword [eax + 0x44], edx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x42fc8f
jmp 0x42fc44
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 0x42fc5b
jmp 0x42fc73
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 0x42fc38
jmp 0x42fc91
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
jne 0x42fcea
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
and ecx, 0x40000
mov al, 1
cmp ecx, 0
jne 0x42fcd8
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.00438468
mov dword [esp + 0x3c], eax
jmp 0x42fcec
cmp dword [esp + 0x38], 0
setne al
test al, 1
jne 0x42fd3d
jmp 0x42fcfa
jmp 0x42fcfc
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x3c], 0
setne al
test al, 1
jne 0x42fd10
jmp 0x43021c
jmp 0x42fd12
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0x30]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, edx
sub eax, ecx
sub eax, 0xffffffff
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x3c]
setae al
test al, 1
jne 0x42fd3d
jmp 0x43021c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0xc]
sub eax, dword [ecx + 0x40]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x24]
ja 0x43021c
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 + 0x98], 0
mov dword [esp + 0x94], 2
mov eax, dword [esp + 0x98]
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 + 0x94]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
jmp 0x42fdbc
jmp 0x42fdbe
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x42fdcf
jmp 0x42fe2a
jmp 0x42fdd1
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 0x42fde8
jmp 0x42fe00
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 0x42fe02
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, 0xddf1db71
sub ecx, 8
sub ecx, 0xddf1db71
mov dword [eax + 0x44], ecx
jmp 0x42fdbc
jmp 0x42fe2c
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
je 0x42ff77
jmp 0x42fe3c
jmp 0x42fe3e
jmp 0x42fe40
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x44]
mov ecx, eax
xor ecx, 8
xor eax, 0xffffffff
and eax, 8
shl eax, 1
add eax, 0x870067b
sub eax, ecx
sub eax, 0x870067b
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x90]
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 + 0x8c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
mov ebx, dword [ecx + 0x44]
mov esi, ebx
add esi, 1
mov ecx, ebx
xor ecx, 0xffffffff
or ecx, eax
add ecx, esi
mov esi, ebx
xor esi, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov edi, esi
and edi, 0x54276eee
and ebx, 0xabd89111
mov ebp, edx
and ebp, 0x54276eee
and eax, 0xabd89111
or edi, ebx
or ebp, eax
xor edi, ebp
or esi, edx
xor esi, 0xffffffff
and esi, 0xffffffff
or edi, esi
add ecx, edi
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x44], ecx
jmp 0x42feed
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x42ff73
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x42ff1f
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
and edx, 0x5ad48bbd
mov esi, ecx
and esi, 0xa52b7442
or edx, esi
xor edx, 0xa52b7442
xor edx, 0xffffffff
or edx, 0xfffffff7
xor edx, 0xffffffff
and edx, 0xffffffff
and ecx, 0xfffffff7
sub ecx, 0xbb9f9f86
sub ecx, edx
add ecx, 0xbb9f9f86
mov dword [eax + 0x44], ecx
jmp 0x42feed
jmp 0x42ff75
jmp 0x42ff77
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], 0
je 0x4300d2
jmp 0x42ff8c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x3c]
and eax, 0xffff
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], 0x10
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl edx, cl
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
mov edi, edx
xor edi, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
or esi, ebx
mov ebx, ecx
xor ebx, 0xffffffff
xor edi, 0xffffffff
or ebx, edi
and esi, ebx
xor esi, 0xffffffff
mov edi, ecx
xor edi, edx
sub ecx, 0x6b55ff93
add ecx, edi
add ecx, 0x6b55ff93
sub ecx, esi
mov dword [eax + 0x48], ecx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
add ecx, 0x781eba03
add ecx, 0xd5669414
sub ecx, 0x781eba03
mov esi, ecx
and esi, edx
shl esi, 1
xor ecx, edx
add ecx, esi
add ecx, 0x2a996beb
add ecx, 1
mov dword [eax + 0x44], ecx
jmp 0x430031
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x430042
jmp 0x4300a4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x43006e
jmp 0x430054
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 0x43006e
jmp 0x430070
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, 0x90f15a96
sub ecx, 8
add ecx, 0x6142a87d
sub ecx, 0x90f15a96
sub ecx, 0x6142a87d
mov dword [eax + 0x44], ecx
jmp 0x43002f
jmp 0x4300a6
jmp 0x4300a8
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0xffffffff
shl ecx, 1
xor eax, 0xffffffff
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x3c]
xor ecx, 0xffff
mov dword [eax + 0x3c], ecx
jmp 0x42ff7f
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x3c]
jae 0x43021a
jmp 0x4300ed
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
add ecx, dword [esp + 0x10]
and ecx, 0x7fff
movzx eax, byte [eax + ecx + 0x90]
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], 8
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl edx, cl
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
mov edi, edx
xor edi, 0xffffffff
mov esi, ecx
and esi, edi
mov edi, ecx
or edi, edi
xor edi, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
mov ebp, edx
xor ebp, 0xffffffff
and ebx, ebp
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
mov ebx, ecx
xor ebx, 0xffffffff
xor edx, 0xffffffff
and ebx, edx
or edi, ebx
xor edi, 0xffffffff
add ecx, edi
sub ecx, esi
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x7c]
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
jmp 0x430185
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x430200
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x4301bb
jmp 0x4301a1
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 0x4301bb
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
and edx, 0xffffffff
or edx, 0
mov esi, edx
xor esi, 8
xor esi, 0xffffffff
or edx, 8
and edx, esi
and ecx, 0xfffffff7
add ecx, 0x9c4f85e1
sub ecx, edx
sub ecx, 0x9c4f85e1
mov dword [eax + 0x44], ecx
jmp 0x430185
jmp 0x430202
jmp 0x430204
jmp 0x430206
jmp 0x430208
jmp 0x43020a
mov eax, dword [esp + 0x10]
sub eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4300da
jmp 0x430258
cmp dword [esp + 0x3c], 0
jne 0x430252
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.00438468
jmp 0x430254
jmp 0x430256
jmp 0x430258
jmp 0x43025a
cmp dword [esp + 0x34], 0
setne al
test al, 1
jne 0x43026b
jmp 0x430770
cmp dword [esp + 0x34], 4
jne 0x430507
jmp 0x430278
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
setne al
test al, 1
jne 0x43028c
jmp 0x4303ae
jmp 0x43028e
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x44]
xor eax, 0xffffffff
add eax, 0x9ef55490
add eax, 1
add eax, 0x610aab78
mov dword [esp + 0x74], eax
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
shl esi, cl
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x48]
mov edi, ecx
xor edi, 0xffffffff
and edi, 0xffffffff
or edi, 0
mov ebx, esi
xor ebx, 0xffffffff
mov edx, edi
and edx, ebx
xor edx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
xor edx, 0xffffffff
xor edi, 0xffffffff
or edx, edi
or ecx, esi
mov esi, ecx
xor esi, 0xffffffff
xor esi, 0xffffffff
and esi, 0xffffffff
shl esi, 1
sub esi, 0xffffffff
sub ecx, esi
mov esi, edx
xor esi, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
mov edi, esi
and edi, 0x774adf2f
and edx, 0x88b520d0
mov ebp, ebx
and ebp, 0x774adf2f
and ecx, 0x88b520d0
or edi, edx
or ebp, ecx
xor edi, ebp
or esi, ebx
xor esi, 0xffffffff
and esi, 0xffffffff
or edi, esi
xor edi, 0xffffffff
mov dword [eax + 0x48], edi
mov eax, dword [esp + 0x74]
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 0x4303a2
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x430384
jmp 0x43036a
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 0x430384
jmp 0x430386
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, 0xfffffff8
mov dword [eax + 0x44], ecx
jmp 0x43034e
jmp 0x4303a4
jmp 0x4303a6
jmp 0x4303a8
jmp 0x4303aa
jmp 0x4303ac
jmp 0x4303ae
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov ecx, eax
and ecx, 1
mov edx, eax
or edx, 1
add ecx, edx
xor eax, 0xffffffff
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
or eax, 0x1000
mov edx, eax
and edx, ecx
or eax, ecx
add edx, eax
cmp edx, 0
je 0x4304fe
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0
cmp dword [esp + 0x28], 4
jae 0x4304fe
jmp 0x430402
mov eax, dword [esp + 0x24]
shr eax, 0x18
and eax, 0xff
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], 8
mov eax, dword [esp + 0x70]
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
or esi, eax
xor esi, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
or esi, edx
xor esi, 0xffffffff
mov dword [ecx + 0x48], esi
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
xor esi, esi
sub esi, edx
xor ecx, 0
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, esi
xor esi, esi
sub esi, edx
add ecx, esi
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, edx
mov dword [eax + 0x44], ecx
jmp 0x430472
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x4304c4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x4304a8
jmp 0x43048e
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 0x4304a8
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 0x430472
jmp 0x4304c6
jmp 0x4304c8
jmp 0x4304ca
jmp 0x4304cc
mov eax, dword [esp + 0x24]
shl eax, 8
mov dword [esp + 0x24], eax
jmp 0x4304d9
mov ecx, dword [esp + 0x28]
xor eax, eax
sub eax, ecx
add eax, 0
mov ecx, eax
and ecx, 0xffffffff
shl ecx, 1
xor eax, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x4303f5
jmp 0x430500
jmp 0x430502
jmp 0x43076a
mov dword [esp + 0x1c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 3
mov eax, dword [esp + 0x68]
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 + 0x64]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 0x44]
mov dword [ecx + 0x44], eax
jmp 0x430546
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
setae al
test al, 1
jne 0x430557
jmp 0x43059e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x43057f
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, 0xfffffff7
add ecx, 1
mov dword [eax + 0x44], ecx
jmp 0x430544
jmp 0x4305a0
jmp 0x4305a2
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
setne al
test al, 1
jne 0x4305b6
jmp 0x43065d
jmp 0x4305b8
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0xc]
mov ecx, 8
sub ecx, dword [eax + 0x44]
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x60]
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 + 0x5c]
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 0x430655
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x430636
jmp 0x43061c
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 0x430636
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, 0xfffffff7
add ecx, 1
mov dword [eax + 0x44], ecx
jmp 0x430600
jmp 0x430657
jmp 0x430659
jmp 0x43065b
jmp 0x43065d
mov dword [esp + 0x20], 2
jmp 0x430667
cmp dword [esp + 0x20], 0
setne al
test al, 1
jne 0x430678
jmp 0x430766
jmp 0x43067a
jmp 0x43067c
jmp 0x43067e
mov eax, dword [esp + 0x1c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xffff
add eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x58]
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 + 0x54]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
sub edx, 0x1c5b6d8a
add edx, eax
add edx, 0x1c5b6d8a
mov dword [ecx + 0x44], edx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 8
jb 0x430720
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x34]
jae 0x430702
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 0x430704
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, 0xfffffff8
mov dword [eax + 0x44], ecx
jmp 0x4306d0
jmp 0x430722
jmp 0x430724
jmp 0x430726
jmp 0x430728
mov eax, dword [esp + 0x20]
sub eax, 0x651720e5
add eax, 0xffffffff
add eax, 0x651720e5
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
xor ecx, 0xffff
xor ecx, 0xffffffff
and ecx, 0xffff
shl ecx, 1
sub ecx, 0xffff
sub eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x430665
jmp 0x430768
jmp 0x43076a
jmp 0x43076c
jmp 0x43076e
jmp 0x430770
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.00458938
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.00458938
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]
mov edx, dword [ecx + 0x40]
add edx, 0x83c212bd
add edx, 0x8d762261
sub edx, 0x83c212bd
add edx, eax
sub edx, 0x8d762261
mov dword [ecx + 0x40], edx
mov eax, dword [esp + 0xc]
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x64]
mov edx, ecx
and edx, 1
shl edx, 1
xor ecx, 1
add ecx, edx
mov dword [eax + 0x64], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, dword [esp + 0x2c]
add eax, 0x852a89b7
sub eax, ecx
sub eax, 0x852a89b7
mov dword [esp + 0x14], eax
cmp eax, 0
je 0x4309e8
jmp 0x43085c
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
setne al
test al, 1
jne 0x43086c
jmp 0x4308da
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x84]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x70]
sub eax, ecx
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
jne 0x4308d5
mov eax, dword [esp + 0xc]
mov dword [eax + 0x6c], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x50], 1
jmp 0x4309ff
jmp 0x4309e6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
add ecx, 0x39272
cmp eax, ecx
jne 0x4309c2
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 0x430911
mov eax, dword [esp + 0x14]
jmp 0x430924
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
sub eax, dword [ecx + 0x8c]
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.00457e38
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x8c]
xor esi, esi
sub esi, edx
mov edx, 0xbc20ca29
sub edx, ecx
sub edx, 0xbc20ca29
add esi, edx
mov ecx, 0xa2c2f547
sub ecx, esi
add ecx, 0x5d3d0ab9
mov dword [eax + 0x8c], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, ecx
xor edx, eax
xor eax, 0xffffffff
and ecx, eax
shl ecx, 1
sub ecx, edx
mov dword [esp + 0x14], ecx
cmp ecx, 0
je 0x4309c0
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 0x4309e4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x8c]
sub edx, 0x484c88e2
add edx, eax
add edx, 0x484c88e2
mov dword [ecx + 0x8c], edx
jmp 0x4309e6
jmp 0x4309e8
jmp 0x4309ea
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 1
jmp 0x4309ff
mov eax, dword [esp + 0x48]
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret