Function at 0x10074060
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, esp
mov dword [esi + 0x28], ecx
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x34], eax
mov eax, dword [0x10290680]
xor eax, ebp
mov dword [esi + 0x80], eax
mov eax, dword [0x1028708c]
mov ecx, dword [0x10287090]
sub eax, 0x918b4184
add eax, ecx
add eax, 0x918b4184
sub eax, 0xa0ce3dda
mov ecx, 0x9346a5ab
xor edx, edx
div ecx
mov ecx, 0x9325d0c2
xor edx, edx
div ecx
mov dword [esi + 0x74], eax
mov dword [esi + 0x7c], 0xbf5bca79
lea eax, [esi + 0x7c]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x24], eax
sub eax, 0x80f7eb92
je 0x100748bb
jmp 0x100740e7
mov eax, dword [esi + 0x24]
sub eax, 0x8bc333c7
je 0x100753d1
jmp 0x100740fa
mov eax, dword [esi + 0x24]
sub eax, 0x9508ef2f
je 0x10074cb6
jmp 0x1007410d
mov eax, dword [esi + 0x24]
sub eax, 0x95880a08
je 0x10075335
jmp 0x10074120
mov eax, dword [esi + 0x24]
sub eax, 0x9f22c08f
je 0x10074d94
jmp 0x10074133
mov eax, dword [esi + 0x24]
sub eax, 0xaf292079
je 0x100747ee
jmp 0x10074146
mov eax, dword [esi + 0x24]
sub eax, 0xb121f828
je 0x100752fb
jmp 0x10074159
mov eax, dword [esi + 0x24]
sub eax, 0xb42b9d78
je 0x10074e37
jmp 0x1007416c
mov eax, dword [esi + 0x24]
sub eax, 0xb65e65a5
je 0x1007526a
jmp 0x1007417f
mov eax, dword [esi + 0x24]
sub eax, 0xb9f6a0dc
je 0x10074de4
jmp 0x10074192
mov eax, dword [esi + 0x24]
sub eax, 0xbe02d2c7
je 0x1007461f
jmp 0x100741a5
mov eax, dword [esi + 0x24]
sub eax, 0xbf3f6b73
je 0x10074da2
jmp 0x100741b8
mov eax, dword [esi + 0x24]
sub eax, 0xbf5bca79
je 0x1007453a
jmp 0x100741cb
mov eax, dword [esi + 0x24]
sub eax, 0xc152acb7
je 0x10074d40
jmp 0x100741de
mov eax, dword [esi + 0x24]
sub eax, 0xc4abdf8e
je 0x1007545d
jmp 0x100741f1
mov eax, dword [esi + 0x24]
sub eax, 0xc91f3ab5
je 0x10074b95
jmp 0x10074204
mov eax, dword [esi + 0x24]
sub eax, 0xc9a48046
je 0x100747fc
jmp 0x10074217
mov eax, dword [esi + 0x24]
sub eax, 0xca0991d8
je 0x10074b66
jmp 0x1007422a
mov eax, dword [esi + 0x24]
sub eax, 0xce783b4a
je 0x10074a6c
jmp 0x1007423d
mov eax, dword [esi + 0x24]
sub eax, 0xd4e72385
je 0x10074ea8
jmp 0x10074250
mov eax, dword [esi + 0x24]
sub eax, 0xd6abf663
je 0x10074cd1
jmp 0x10074263
mov eax, dword [esi + 0x24]
sub eax, 0xd8825a64
je 0x10074985
jmp 0x10074276
mov eax, dword [esi + 0x24]
sub eax, 0xe2ea1d11
je 0x10075159
jmp 0x10074289
mov eax, dword [esi + 0x24]
sub eax, 0xe89951c0
je 0x10074c00
jmp 0x1007429c
mov eax, dword [esi + 0x24]
sub eax, 0xee678835
je 0x10075493
jmp 0x100742af
mov eax, dword [esi + 0x24]
sub eax, 0xf4d1a5ef
je 0x1007463a
jmp 0x100742c2
mov eax, dword [esi + 0x24]
sub eax, 0xf63ee27c
je 0x10074705
jmp 0x100742d5
mov eax, dword [esi + 0x24]
sub eax, 0xfd902cd7
je 0x10074fe0
jmp 0x100742e8
mov eax, dword [esi + 0x24]
sub eax, 0x88665f1
je 0x10075041
jmp 0x100742fb
mov eax, dword [esi + 0x24]
sub eax, 0x143e0211
je 0x100754f7
jmp 0x1007430e
mov eax, dword [esi + 0x24]
sub eax, 0x1a90433e
je 0x10074f5b
jmp 0x10074321
mov eax, dword [esi + 0x24]
sub eax, 0x1ae52916
je 0x10074fd2
jmp 0x10074334
mov eax, dword [esi + 0x24]
sub eax, 0x21556cc5
je 0x10074841
jmp 0x10074347
mov eax, dword [esi + 0x24]
sub eax, 0x21a61218
je 0x10074993
jmp 0x1007435a
mov eax, dword [esi + 0x24]
sub eax, 0x3247ae46
je 0x10074e45
jmp 0x1007436d
mov eax, dword [esi + 0x24]
sub eax, 0x3250475c
je 0x100750d3
jmp 0x10074380
mov eax, dword [esi + 0x24]
sub eax, 0x33e9bf83
je 0x10074b74
jmp 0x10074393
mov eax, dword [esi + 0x24]
sub eax, 0x370112f1
je 0x10074ef5
jmp 0x100743a6
mov eax, dword [esi + 0x24]
sub eax, 0x393a95c5
je 0x100750c5
jmp 0x100743b9
mov eax, dword [esi + 0x24]
sub eax, 0x3d23c9a2
je 0x10075217
jmp 0x100743cc
mov eax, dword [esi + 0x24]
sub eax, 0x41e4c24d
je 0x100751b9
jmp 0x100743df
mov eax, dword [esi + 0x24]
sub eax, 0x42600a4c
je 0x10074f10
jmp 0x100743f2
mov eax, dword [esi + 0x24]
sub eax, 0x4350f7f7
je 0x100746d9
jmp 0x10074405
mov eax, dword [esi + 0x24]
sub eax, 0x4809af73
je 0x100754e9
jmp 0x10074418
mov eax, dword [esi + 0x24]
sub eax, 0x506526f1
je 0x10074acb
jmp 0x1007442b
mov eax, dword [esi + 0x24]
sub eax, 0x52785c5a
je 0x10074a51
jmp 0x1007443e
mov eax, dword [esi + 0x24]
sub eax, 0x564522b4
je 0x10075485
jmp 0x10074451
mov eax, dword [esi + 0x24]
sub eax, 0x6077f0e4
je 0x100753f0
jmp 0x10074464
mov eax, dword [esi + 0x24]
sub eax, 0x60b0eaa4
je 0x100751c7
jmp 0x10074477
mov eax, dword [esi + 0x24]
sub eax, 0x64d87c1c
je 0x100749dd
jmp 0x1007448a
mov eax, dword [esi + 0x24]
sub eax, 0x6988f736
je 0x100746e7
jmp 0x1007449d
mov eax, dword [esi + 0x24]
sub eax, 0x6c612c4b
je 0x100753c3
jmp 0x100744b0
mov eax, dword [esi + 0x24]
sub eax, 0x6da666eb
je 0x1007468b
jmp 0x100744c3
mov eax, dword [esi + 0x24]
sub eax, 0x7060c67b
je 0x100754a1
jmp 0x100744d6
mov eax, dword [esi + 0x24]
sub eax, 0x74fee616
je 0x100752dd
jmp 0x100744e9
mov eax, dword [esi + 0x24]
sub eax, 0x778d14b8
je 0x10074558
jmp 0x100744fc
mov eax, dword [esi + 0x24]
sub eax, 0x77c2c9b4
je 0x10075293
jmp 0x1007450f
mov eax, dword [esi + 0x24]
sub eax, 0x7887301b
je 0x1007476c
jmp 0x10074522
mov eax, dword [esi + 0x24]
sub eax, 0x7b853fdd
je 0x1007551f
jmp 0x10074535
jmp 0x10075528
mov ecx, 0x778d14b8
mov eax, 0x77c2c9b4
cmp dword [esi + 0x74], 0x1889416b
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ebx, dword [esi + 0x34]
mov eax, dword [0x10287094]
mov ecx, dword [0x10287098]
add eax, ecx
mov edx, eax
and edx, 0x7d7ee7aa
or eax, 0x7d7ee7aa
add edx, eax
and edx, 0x43287787
add edx, 0x60365107
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x70], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [esi + 0x64], ecx
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x60], ecx
push eax
mov ecx, esp
mov dword [esi + 0x5c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x58], ecx
push eax
mov ecx, esp
mov dword [esi + 0x54], ecx
push eax
mov edi, esp
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x50], edi
mov edi, dword [esi + 0x6c]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x30]
mov dword [edi], ecx
mov ecx, dword [esi + 0x28]
mov edi, dword [esi + 0x68]
mov dword [edi], ebx
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, 1
sbb eax, 0
setl al
and al, 1
mov byte [esi + 0x4b], al
mov ecx, 0x77c2c9b4
mov eax, 0xbe02d2c7
cmp edx, 0x919536e
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, 0x6988f736
mov eax, 0xf4d1a5ef
test byte [esi + 0x4b], 1
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x1028709c]
mov ecx, dword [0x102870a0]
sub eax, 0x9b8c4bbe
sub eax, ecx
add eax, 0x9b8c4bbe
mov ecx, 0xffffffff
xor ecx, 0xdd796a34
mov edx, eax
xor edx, ecx
and edx, eax
add edx, 0xeee2da29
and edx, 0x5d6363f0
mov ecx, 0x6da666eb
mov eax, 0x74fee616
cmp edx, 0x426c6c48
cmove ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870a4]
mov ecx, dword [0x102870a8]
or eax, ecx
xor eax, 0x3281100
or eax, 0x7cc6ac8f
mov ecx, 0x413d3d43
mul ecx
shr edx, 0x1e
mov eax, dword [esi + 0x70]
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, 0x4350f7f7
mov eax, 0x6da666eb
cmp edx, 0x3ab5b6df
cmova ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x60b0eaa4
jmp 0x10075528
mov edx, dword [esi + 0x4c]
mov ecx, 0xc9a48046
mov eax, 0xf63ee27c
cmp dword [edx + 0x38], 0
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870ac]
xor eax, dword [0x102870b0]
sub eax, 0xc38aed25
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc8cb30c0
mov edi, 0xffffffff
xor edi, 0xc8cb30c0
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xc8cb30c0
or eax, 0xc8cb30c0
imul eax, edx
add eax, ecx
mov ecx, 0xd9d4e2ec
xor edx, edx
div ecx
mov edx, eax
mov ecx, 0xb121f828
mov eax, 0x7887301b
cmp edx, 0xa6d6a33a
cmovbe ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x102870b4]
mov eax, dword [0x102870b8]
mov ecx, eax
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
add eax, 0xad94bcd4
mov ecx, eax
not ecx
or ecx, 0x8140201
and ecx, 0xd54c203
and eax, 0xd20a3038
sub eax, ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
mov ecx, dword [esi + 0x4c]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.10020820
mov ecx, eax
mov edi, edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x70]
mov dword [eax + 4], edi
mov dword [eax], ecx
mov ecx, 0xaf292079
mov eax, 0xb121f828
cmp edx, 0xca0bc941
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x60b0eaa4
jmp 0x10075528
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
movsd xmm0, qword [eax]
mov eax, dword [esi + 0x60]
movsd qword [eax], xmm0
mov ecx, dword [esi + 0x4c]
call fcn.1002d550
mov ecx, eax
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov edi, dword [esi + 0x5c]
xor edx, edx
mov ecx, 0x21a61218
mov eax, 0x21556cc5
cmp edx, dword [edi]
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870bc]
xor edx, edx
div dword [0x102870c0]
mov edx, eax
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xb8c67d68
mov eax, 0xffffffff
xor eax, 0x88242c3b
or edx, ecx
or eax, 0x88242c3b
xor edx, 0xffffffff
and edx, eax
mov eax, edx
xor eax, 0x17b902ef
xor eax, 0xffffffff
and eax, 0x17b902ef
shl eax, 1
sub eax, 0x17b902ef
sub edx, eax
sub edx, 0x7551da11
add edx, 0xfb4562e3
add edx, 0x7551da11
mov ecx, 0x80f7eb92
mov eax, 0x95880a08
cmp edx, 0x15250156
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870c4]
sub eax, dword [0x102870c8]
sub eax, 0xa848ab0a
imul eax, eax, 0x1b4b3d76
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xc11f9f5b
add eax, ecx
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x5c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10031e60
add esp, 8
mov ecx, dword [eax]
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x4c]
call fcn.1002a2e0
mov ecx, eax
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1002a100
add esp, 0xc
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov eax, dword [esi + 0x68]
add ecx, dword [eax]
mov eax, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
sub esp, 4
mov dword [esp], eax
call fcn.1002cde0
mov edx, dword [esi + 0x1c]
mov ecx, 0xd8825a64
mov eax, 0x80f7eb92
cmp edx, 0x3f0da759
cmovbe ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x21a61218
jmp 0x10075528
mov edx, dword [0x102870cc]
xor edx, dword [0x102870d0]
xor eax, eax
sub eax, 0xf800a19d
add edx, eax
sub edx, 0x52b20dd9
mov eax, edx
xor eax, 0x8ac2a74f
xor eax, 0xffffffff
or edx, 0x8ac2a74f
and edx, eax
mov ecx, 0x64d87c1c
mov eax, 0x6c612c4b
cmp edx, 0x876c8f45
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x102870d4]
or edx, dword [0x102870d8]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x34ffa474
mov eax, 0xffffffff
xor eax, 0x79cde6f6
or edx, ecx
or eax, 0x79cde6f6
xor edx, 0xffffffff
and edx, eax
sub edx, 0x8734d7f2
sub edx, 0xee2f0105
add edx, 0x8734d7f2
and edx, 0x76139757
mov eax, dword [esi + 0x4c]
cmp dword [eax + 0x4c], 0
setne al
and al, 1
mov byte [esi + 0x4a], al
mov ecx, 0x64d87c1c
mov eax, 0x52785c5a
cmp edx, 0xc08da06a
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, 0x3250475c
mov eax, 0xce783b4a
test byte [esi + 0x4a], 1
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870dc]
mov edi, dword [0x102870e0]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
and edx, ecx
mov ebx, edi
xor ebx, 0xffffffff
mov ecx, eax
and ecx, ebx
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
mov ecx, 0x8a2c0784
xor edx, edx
div ecx
mov edx, eax
add edx, 0xe5d0fc56
add edx, 0x22abad67
mov ecx, 0x8bc333c7
mov eax, 0x506526f1
cmp edx, 0xfeae05bc
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870e4]
mov edx, dword [0x102870e8]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xebf83a7c
mov edx, 0xffffffff
xor edx, 0xebf83a7c
and eax, edx
sub eax, ecx
or eax, 0x5f5d168d
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3152403a
mov edi, 0xffffffff
xor edi, 0x3152403a
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x3152403a
or eax, 0x3152403a
imul eax, edx
add eax, ecx
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x4c]
call fcn.1006ea00
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x54]
mov dword [eax], 0xfff
mov ecx, 0xca0991d8
mov eax, 0x8bc333c7
cmp edx, 0x972a757a
cmove ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x33e9bf83
jmp 0x10075528
mov edi, dword [esi + 0x64]
mov edx, 0xfff
mov ecx, 0x3247ae46
mov eax, 0xc91f3ab5
cmp edx, dword [edi]
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870ec]
sub eax, dword [0x102870f0]
imul edx, eax, 0x6a37855
mov edi, 0xffffffff
xor edi, 0x102141e4
mov ecx, edx
and ecx, edi
mov eax, edx
or eax, edi
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, 0x102141e4
or edx, 0x102141e4
imul edx, ecx
add edx, eax
mov eax, edx
and eax, 0xc5411e8c
shl eax, 1
add edx, 0xc5411e8c
sub edx, eax
mov ecx, 0xe89951c0
mov eax, 0x6077f0e4
cmp edx, 0xb925d98
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870f4]
xor eax, dword [0x102870f8]
or eax, 0xcd653e47
add eax, 0x887cd9e2
add eax, 0x8dce6917
sub eax, 0x887cd9e2
mov ecx, 0xcc2a819
xor edx, edx
div ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], 0xfff
mov dword [esp + 0xc], eax
call fcn.10205169
mov edx, dword [esi + 0x10]
add esp, 0x10
mov ecx, eax
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
mov eax, dword [esi + 0x68]
add ecx, dword [eax]
mov eax, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
cmp dword [eax], 0xfff
setne al
and al, 1
mov byte [esi + 0x49], al
mov ecx, 0x9508ef2f
mov eax, 0xe89951c0
cmp edx, 0x79ee69c4
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, 0xbf3f6b73
mov eax, 0xd6abf663
test byte [esi + 0x49], 1
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x102870fc]
imul eax, dword [0x10287100]
mov edi, 0xffffffff
xor edi, 0x8eca51b3
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8eca51b3
or eax, 0x8eca51b3
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x71bdc436
add eax, ecx
add eax, 1
mov ecx, 0xd4e59ae2
xor edx, edx
div ecx
mov edx, eax
mov ecx, 0xc4abdf8e
mov eax, 0xc152acb7
cmp edx, 0x73ad80b
cmovbe ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x10287104]
mov ecx, dword [0x10287108]
and eax, ecx
mov ecx, 0xd7a276d7
mul ecx
shr edx, 0x1e
or edx, 0xff7e37bd
mov eax, dword [esi + 0x60]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub edi, eax
sbb ecx, 0
mov eax, dword [esi + 0x70]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, 0xc4abdf8e
mov eax, 0x9f22c08f
cmp edx, 0xc67946ea
cmova ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x60b0eaa4
jmp 0x10075528
mov ecx, dword [0x1028710c]
mov edx, dword [0x10287110]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0x2656f89d
add eax, 0x6367c775
imul edx, eax, 0x49ab4a51
mov ecx, 0xb9f6a0dc
mov eax, 0x564522b4
cmp edx, 0x875614c8
cmovbe ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, dword [0x10287114]
imul ecx, dword [0x10287118]
sub ecx, 0xadebb31
mov eax, ecx
and eax, 0xd5c5f7bc
shl eax, 1
xor ecx, 0xd5c5f7bc
add ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x70607ff
add eax, ecx
xor edx, edx
sub edx, eax
mov ecx, 0xb42b9d78
mov eax, 0xb9f6a0dc
cmp edx, 0x55497dc5
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x33e9bf83
jmp 0x10075528
mov eax, dword [0x1028711c]
mov edx, dword [0x10287120]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
add eax, 0xce272ae4
mov edx, eax
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x37210e0b
and edx, ecx
or eax, 0x37210e0b
xor eax, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
or edx, 0x3a375ad3
mov ecx, 0xd4e72385
mov eax, 0xee678835
cmp edx, 0xbc997cde
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x10287124]
and edx, dword [0x10287128]
and edx, 0x97766814
xor edx, 0xf1b06fa7
xor eax, eax
sub eax, 0x15cc4dee
sub edx, eax
mov ecx, dword [esi + 0x64]
xor eax, eax
cmp eax, dword [ecx]
setb al
and al, 1
mov byte [esi + 0x48], al
mov ecx, 0xd4e72385
mov eax, 0x370112f1
cmp edx, 0xf4f3b0d
cmovb ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, 0xfd902cd7
mov eax, 0x42600a4c
test byte [esi + 0x48], 1
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov ecx, dword [0x1028712c]
mov edx, dword [0x10287130]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x3c6dc6e9
xor edx, edx
div ecx
or eax, 0x98f49621
mov ecx, 0x53b8e029
xor edx, edx
div ecx
mov edx, eax
mov ecx, 0x7060c67b
mov eax, 0x1a90433e
cmp edx, 0xd917a83d
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [0x10287134]
and eax, dword [0x10287138]
add eax, 0x53373ac
sub eax, 0x77c16c06
add eax, 0xbbd298d8
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.10205169
mov edx, dword [esi + 0xc]
add esp, 0x10
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov ecx, 0x1ae52916
mov eax, 0x7060c67b
cmp edx, 0x882c0e6d
cmova ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xfd902cd7
jmp 0x10075528
mov edx, dword [0x1028713c]
and edx, dword [0x10287140]
add edx, 0x98a9dcc7
mov edi, 0xffffffff
xor edi, 0xd7ff8239
mov ecx, edx
and ecx, edi
mov eax, edx
or eax, edi
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, 0xd7ff8239
or edx, 0xd7ff8239
imul edx, ecx
add edx, eax
add edx, 0xc2030c16
mov ecx, 0x4809af73
mov eax, 0x88665f1
cmp edx, 0x1a702b4e
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x10287144]
imul edx, dword [0x10287148]
or edx, 0xde8a1acb
or edx, edx
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0x611f729a
mov ecx, 0xffffffff
xor ecx, 0x611f729a
and eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x61a7ae74
mov edi, 0xffffffff
xor edi, 0x61a7ae74
mov eax, edx
and eax, edi
imul eax, ecx
mov ecx, edx
and ecx, 0x61a7ae74
or edx, 0x61a7ae74
imul edx, ecx
add edx, eax
mov ecx, 0x88665f1
mov eax, 0x393a95c5
cmp edx, 0x881eaa82
cmova ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x3250475c
jmp 0x10075528
mov ecx, dword [0x1028714c]
mov edx, dword [0x10287150]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
and eax, 0xf2684cad
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xe689b768
add ecx, eax
xor eax, eax
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x6895ece
or edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6895ece
mov edi, 0xffffffff
xor edi, 0x6895ece
or ecx, edi
and eax, ecx
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov ecx, 0x143e0211
mov eax, 0xe2ea1d11
cmp edx, 0x1c1f3e06
cmova ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x10287154]
mov eax, dword [0x10287158]
and edx, eax
xor edx, 0xf0ca6aa6
add edx, 0x129c6518
and edx, 0xd453aee7
mov eax, dword [esi + 0x60]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x64]
mov ebx, dword [eax]
mov eax, edi
not eax
and eax, ebx
not ebx
and edi, ebx
sub edi, eax
sbb ecx, 0
mov eax, dword [esi + 0x70]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, 0x41e4c24d
mov eax, 0xe2ea1d11
cmp edx, 0xe7cf6895
cmovae ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x60b0eaa4
jmp 0x10075528
mov eax, dword [0x1028715c]
xor edx, edx
div dword [0x10287160]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x8cbc73d
mov edx, 0xffffffff
xor edx, 0x8cbc73d
and ecx, edx
or eax, ecx
add eax, 0x723f650c
imul edx, eax, 0x71e8061a
mov ecx, 0x7b853fdd
mov eax, 0x3d23c9a2
cmp edx, 0xb03e4dfc
cmovbe ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov edx, dword [0x10287164]
mov eax, dword [0x10287168]
sub edx, eax
mov eax, edx
not eax
and eax, 0x92732728
and edx, 0x6d8cd8d7
sub edx, eax
add edx, 0xc3f3acf7
xor edx, 0xcffbc381
mov eax, dword [esi + 0x70]
movsd xmm0, qword [eax]
movsd qword [esi + 0x40], xmm0
mov ecx, 0xb65e65a5
mov eax, 0x3d23c9a2
cmp edx, 0x9bc487b
cmove ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
jmp 0x10075528
mov eax, dword [esi + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x80]
xor ecx, ebp
call fcn.100b5a82
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov edi, dword [esi + 0x34]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push eax
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edx, esp
push eax
mov eax, esp
push eax
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
push eax
push eax
push eax
mov ecx, dword [esi + 0x2c]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0x30]
mov dword [ebx], ecx
mov ecx, dword [esi + 0x28]
mov dword [edx], edi
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x778d14b8
jmp 0x10075528
mov eax, dword [esi + 0x70]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x6da666eb
jmp 0x10075528
mov eax, dword [esi + 0x6c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x68]
mov edx, dword [eax]
mov ecx, dword [esi + 0x4c]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.10020820
mov ecx, eax
mov eax, dword [esi + 0x70]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x7887301b
jmp 0x10075528
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x5c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10031e60
add esp, 8
mov ecx, dword [eax]
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [esi + 0x4c]
call fcn.1002a2e0
mov ecx, eax
mov eax, dword [esi]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1002a100
add esp, 0xc
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
mov eax, dword [esi + 0x68]
add ecx, dword [eax]
mov eax, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
sub esp, 4
mov dword [esp], eax
call fcn.1002cde0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x80f7eb92
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x64d87c1c
jmp 0x10075528
mov ecx, dword [esi + 0x4c]
call fcn.1006ea00
mov eax, dword [esi + 0x54]
mov dword [eax], 0xfff
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x506526f1
jmp 0x10075528
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], 0xfff
mov dword [esp + 0xc], eax
call fcn.10205169
add esp, 0x10
mov ecx, eax
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
mov eax, dword [esi + 0x68]
add ecx, dword [eax]
mov eax, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov edx, dword [eax]
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xe89951c0
jmp 0x10075528
mov eax, dword [esi + 0x60]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub edx, eax
sbb ecx, 0
mov eax, dword [esi + 0x70]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xc152acb7
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xb9f6a0dc
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xd4e72385
jmp 0x10075528
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.10205169
add esp, 0x10
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x1a90433e
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x88665f1
jmp 0x10075528
mov eax, dword [esi + 0x60]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub edx, eax
sbb ecx, 0
mov eax, dword [esi + 0x70]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x3c]
mov dword [eax], 0xe2ea1d11
jmp 0x10075528
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x3d23c9a2
jmp 0x100740d1