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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov eax, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
mov esi, dword [0x10290680]
xor esi, ebp
mov dword [esp + 0xa8], esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x18]
and eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0xa4], 0x5ed0cc3c
lea eax, [esp + 0xa4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x30], eax
sub eax, 0x8369c67a
je 0x10024751
jmp 0x10022000
mov eax, dword [esp + 0x30]
sub eax, 0x847942c1
je 0x1002409c
jmp 0x10022014
mov eax, dword [esp + 0x30]
sub eax, 0x89b0af78
je 0x10024b19
jmp 0x10022028
mov eax, dword [esp + 0x30]
sub eax, 0x89f1995b
je 0x10023f30
jmp 0x1002203c
mov eax, dword [esp + 0x30]
sub eax, 0x8aa5c54a
je 0x10023af9
jmp 0x10022050
mov eax, dword [esp + 0x30]
sub eax, 0x8b396af4
je 0x1002321e
jmp 0x10022064
mov eax, dword [esp + 0x30]
sub eax, 0x8bef8413
je 0x10022d18
jmp 0x10022078
mov eax, dword [esp + 0x30]
sub eax, 0x8ce46f09
je 0x100233fb
jmp 0x1002208c
mov eax, dword [esp + 0x30]
sub eax, 0x8de2bcd3
je 0x10023bbb
jmp 0x100220a0
mov eax, dword [esp + 0x30]
sub eax, 0x91249bc6
je 0x10024d07
jmp 0x100220b4
mov eax, dword [esp + 0x30]
sub eax, 0x917579cf
je 0x10024d8b
jmp 0x100220c8
mov eax, dword [esp + 0x30]
sub eax, 0x91a5741c
je 0x10022e6a
jmp 0x100220dc
mov eax, dword [esp + 0x30]
sub eax, 0x96543bf3
je 0x10023e66
jmp 0x100220f0
mov eax, dword [esp + 0x30]
sub eax, 0x973dad1b
je 0x10023e9f
jmp 0x10022104
mov eax, dword [esp + 0x30]
sub eax, 0x97560bab
je 0x10022aec
jmp 0x10022118
mov eax, dword [esp + 0x30]
sub eax, 0x9784207d
je 0x1002453f
jmp 0x1002212c
mov eax, dword [esp + 0x30]
sub eax, 0x9c0ddc7b
je 0x10024bcd
jmp 0x10022140
mov eax, dword [esp + 0x30]
sub eax, 0x9c3010bb
je 0x10024d9a
jmp 0x10022154
mov eax, dword [esp + 0x30]
sub eax, 0x9d3c940d
je 0x10024615
jmp 0x10022168
mov eax, dword [esp + 0x30]
sub eax, 0xa189ef33
je 0x1002416a
jmp 0x1002217c
mov eax, dword [esp + 0x30]
sub eax, 0xa2b747cf
je 0x100247ec
jmp 0x10022190
mov eax, dword [esp + 0x30]
sub eax, 0xa7759220
je 0x100248f9
jmp 0x100221a4
mov eax, dword [esp + 0x30]
sub eax, 0xa8fdfbe9
je 0x10022f25
jmp 0x100221b8
mov eax, dword [esp + 0x30]
sub eax, 0xa9309843
je 0x10024530
jmp 0x100221cc
mov eax, dword [esp + 0x30]
sub eax, 0xa9d5e78c
je 0x10023a19
jmp 0x100221e0
mov eax, dword [esp + 0x30]
sub eax, 0xa9d8c39e
je 0x10024e6f
jmp 0x100221f4
mov eax, dword [esp + 0x30]
sub eax, 0xabf7a2bc
je 0x10022d85
jmp 0x10022208
mov eax, dword [esp + 0x30]
sub eax, 0xadd1332b
je 0x10023a37
jmp 0x1002221c
mov eax, dword [esp + 0x30]
sub eax, 0xaf1a10ef
je 0x10024dc4
jmp 0x10022230
mov eax, dword [esp + 0x30]
sub eax, 0xb0ab887d
je 0x10024b93
jmp 0x10022244
mov eax, dword [esp + 0x30]
sub eax, 0xb1d000e9
je 0x100236a2
jmp 0x10022258
mov eax, dword [esp + 0x30]
sub eax, 0xb218b708
je 0x10024a8d
jmp 0x1002226c
mov eax, dword [esp + 0x30]
sub eax, 0xb52587ea
je 0x10023d5a
jmp 0x10022280
mov eax, dword [esp + 0x30]
sub eax, 0xb89db1fa
je 0x10023010
jmp 0x10022294
mov eax, dword [esp + 0x30]
sub eax, 0xb9b3e336
je 0x10024de7
jmp 0x100222a8
mov eax, dword [esp + 0x30]
sub eax, 0xba805ce5
je 0x100238de
jmp 0x100222bc
mov eax, dword [esp + 0x30]
sub eax, 0xbc2a3ac2
je 0x10024e3f
jmp 0x100222d0
mov eax, dword [esp + 0x30]
sub eax, 0xbe707a5e
je 0x10023c89
jmp 0x100222e4
mov eax, dword [esp + 0x30]
sub eax, 0xc052f728
je 0x10024a0d
jmp 0x100222f8
mov eax, dword [esp + 0x30]
sub eax, 0xc49bddec
je 0x10024c0e
jmp 0x1002230c
mov eax, dword [esp + 0x30]
sub eax, 0xc4dd7d5b
je 0x10024baf
jmp 0x10022320
mov eax, dword [esp + 0x30]
sub eax, 0xc5405cbd
je 0x10022c7b
jmp 0x10022334
mov eax, dword [esp + 0x30]
sub eax, 0xc5804856
je 0x10023365
jmp 0x10022348
mov eax, dword [esp + 0x30]
sub eax, 0xc61f0916
je 0x10024456
jmp 0x1002235c
mov eax, dword [esp + 0x30]
sub eax, 0xc849d352
je 0x10023c40
jmp 0x10022370
mov eax, dword [esp + 0x30]
sub eax, 0xca0397b0
je 0x1002357c
jmp 0x10022384
mov eax, dword [esp + 0x30]
sub eax, 0xcbdba8fd
je 0x10024cf8
jmp 0x10022398
mov eax, dword [esp + 0x30]
sub eax, 0xcc7d9358
je 0x10024a7e
jmp 0x100223ac
mov eax, dword [esp + 0x30]
sub eax, 0xd19c001d
je 0x10023348
jmp 0x100223c0
mov eax, dword [esp + 0x30]
sub eax, 0xd1d599fe
je 0x10024bdc
jmp 0x100223d4
mov eax, dword [esp + 0x30]
sub eax, 0xd2e43c73
je 0x10023e57
jmp 0x100223e8
mov eax, dword [esp + 0x30]
sub eax, 0xd32deb28
je 0x100234fb
jmp 0x100223fc
mov eax, dword [esp + 0x30]
sub eax, 0xd4e09cd2
je 0x10024cbd
jmp 0x10022410
mov eax, dword [esp + 0x30]
sub eax, 0xd99dd855
je 0x10023c5d
jmp 0x10022424
mov eax, dword [esp + 0x30]
sub eax, 0xdab456d1
je 0x10023ccd
jmp 0x10022438
mov eax, dword [esp + 0x30]
sub eax, 0xdaf2a06a
je 0x1002420e
jmp 0x1002244c
mov eax, dword [esp + 0x30]
sub eax, 0xdbda98e9
je 0x10024d43
jmp 0x10022460
mov eax, dword [esp + 0x30]
sub eax, 0xdcc2e4f4
je 0x10024e05
jmp 0x10022474
mov eax, dword [esp + 0x30]
sub eax, 0xde3f13c6
je 0x100232ff
jmp 0x10022488
mov eax, dword [esp + 0x30]
sub eax, 0xde6e6324
je 0x10024d34
jmp 0x1002249c
mov eax, dword [esp + 0x30]
sub eax, 0xe505c1b2
je 0x10023201
jmp 0x100224b0
mov eax, dword [esp + 0x30]
sub eax, 0xe67e625f
je 0x1002332b
jmp 0x100224c4
mov eax, dword [esp + 0x30]
sub eax, 0xe90b3e04
je 0x1002466d
jmp 0x100224d8
mov eax, dword [esp + 0x30]
sub eax, 0xea60da28
je 0x100230d4
jmp 0x100224ec
mov eax, dword [esp + 0x30]
sub eax, 0xee11b508
je 0x100240ab
mov al, byte [esp + 0x4b]
and al, 1
mov byte [esp + 0x93], al
mov edx, dword [ebp + 0x18]
and edx, 2
mov ecx, 0xc5405cbd
mov eax, 0x52d2a45d
cmp edx, 0
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
mov byte [esp + 0x4a], 0
jmp 0x10024e79
mov al, byte [esp + 0x4a]
and al, 1
mov byte [esp + 0x92], al
mov dl, byte [esp + 0x93]
mov ecx, 0x8aa9d8c
mov eax, 0xabf7a2bc
test dl, 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x102808fc]
and eax, dword [0x10280900]
and eax, 0xefa1917a
xor ecx, ecx
sub ecx, 0x2ec92a5a
sub eax, ecx
mov ecx, 0x3b222e02
xor edx, edx
div ecx
mov edx, eax
mov al, byte [esp + 0x92]
and al, 1
mov byte [esp + 0x66], al
mov ecx, 0xf641447d
mov eax, 0x632e570f
cmp edx, 0xc97707b0
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [esp + 0x34]
mov eax, esp
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xffffffff
call fcn.10029510
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xb218b708
jmp 0x10024e79
mov eax, dword [0x1028090c]
mov edx, dword [0x10280910]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x2865eb31
shl ecx, 1
add eax, 0x2865eb31
sub eax, ecx
add eax, 0x4be0f5d0
mov edx, eax
and edx, 0x6f734cb
or eax, 0x6f734cb
add edx, eax
mov ecx, 0x9c0ddc7b
mov eax, 0x6072858e
cmp edx, 0x4dfa112
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x1028091c]
xor edx, edx
div dword [0x10280920]
add eax, 0x66ac7cf3
sub eax, 0xbf7cc70c
sub eax, 0x66ac7cf3
mov ecx, 0xffffffff
xor ecx, 0x5b6d4f0c
add eax, ecx
add eax, 1
or eax, 0xbff1f488
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x6c]
call fcn.10027510
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
mov ecx, 0xd1d599fe
mov eax, 0x731f8583
cmp edx, 0xdfa7163c
cmova ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x1028092c]
mov edx, dword [0x10280930]
and eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov dword [esp + 0x28], edx
mov esi, 0xffffffff
xor esi, 0xc008386c
mov ecx, 0xffffffff
xor ecx, 0x9c7e3c76
and edx, 0x9c7e3c76
and eax, ecx
mov edi, esi
and edi, 0x9c7e3c76
mov ebx, ecx
and ebx, 0xc008386c
or edx, eax
mov eax, dword [esp + 0x28]
or edi, ebx
xor edx, edi
or eax, esi
xor eax, 0xffffffff
or ecx, 0x9c7e3c76
and eax, ecx
or edx, eax
add edx, 0x53bcd086
mov eax, edx
and eax, 0xd29408c1
xor eax, 0xffffffff
add edx, 0xd29408c1
add edx, 1
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], eax
cmp dword [esp + 0x88], 0
setne al
and al, 1
mov byte [esp + 0x5f], al
mov ecx, 0xea60da28
mov eax, 0xb89db1fa
cmp edx, 0x48a130e4
cmovbe ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0x8b396af4
mov eax, 0x7bb8072e
test byte [esp + 0x5f], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x8b396af4
jmp 0x10024e79
mov edx, dword [str._IAf]
sub edx, dword [0x10280948]
mov ecx, 0xffffffff
xor ecx, 0x9388b839
mov eax, edx
and eax, ecx
mov ecx, edx
xor ecx, 0x9388b839
add edx, ecx
sub edx, eax
add edx, 0x2facab3f
xor edx, 0xc68924f2
mov ecx, 0x57674b81
mov eax, 0x72cdb6bc
cmp edx, 0xbbc9245d
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x611bb4e2
jmp 0x10024e79
mov ecx, 0xd19c001d
mov eax, 0xca0397b0
cmp dword [esp + 0x58], 2
cmovl ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xf2d7baac
mov eax, 0x3c1fcf41
cmp dword [esp + 0x58], 2
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xf2d7baac
mov eax, 0x31d655ed
cmp dword [esp + 0x58], 0
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x1028095c]
mov edx, dword [0x10280960]
mov ecx, eax
not ecx
or ecx, edx
lea ecx, [eax + ecx + 1]
mov edx, ecx
xor edx, 0x35c6524a
mov eax, edx
and eax, 0x870628a8
xor ecx, 0x4d3f851d
add edx, ecx
sub edx, eax
xor edx, 0xa9fe2611
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov ecx, 0x53eb70d8
mov eax, 0x4ef3611d
cmp edx, 0xa4ca02e2
cmovb ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x1028096c]
mov ecx, dword [0x10280970]
sub eax, ecx
imul edx, eax, 0x4e641b92
add edx, 0xaa581f70
mov ecx, edx
not ecx
and ecx, 0xbfa1fb2
mov eax, edx
and eax, 0xf405e04c
imul eax, ecx
mov ecx, edx
and ecx, 0xbfa1fb2
or edx, 0xbfa1fb2
imul edx, ecx
add edx, eax
mov ecx, dword [esp + 0x80]
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov ecx, 0xd32deb28
mov eax, 0xf5128d3
cmp edx, 0x470f6d3e
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov dword [esp + 0x74], 3
mov edx, dword [ebp + 0x18]
and edx, 3
mov ecx, 0x96543bf3
mov eax, 0x42a3c2ba
cmp edx, 3
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xadd1332b
mov eax, 0x5cb03c73
test byte [esp + 0x57], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0x397be5c
mov eax, 0xf0b51137
test byte [esp + 0x55], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x973dad1b
jmp 0x10024e79
mov edx, dword [0x102809b4]
imul edx, dword [0x102809b8]
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x887ade1f
mov esi, 0xffffffff
xor esi, 0x887ade1f
mov eax, edx
and eax, esi
imul eax, ecx
mov ecx, edx
and ecx, 0x887ade1f
or edx, 0x887ade1f
imul edx, ecx
add edx, eax
mov eax, 0xffffffff
xor eax, 0x6b71fea3
add edx, eax
add edx, 1
or edx, 0x2085c25
mov ecx, 0xfe5574e4
mov eax, 0xcbdba8fd
cmp edx, 0x87aeebc5
cmova ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xbe707a5e
mov eax, 0x1467f846
test byte [esp + 0x54], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x102809cc]
mov esi, dword [0x102809d0]
mov edx, esi
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, esi
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xbd7664c3
mov edx, 0xffffffff
xor edx, 0xbd7664c3
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2a1ef600
mov edx, 0xffffffff
xor edx, 0x2a1ef600
and eax, edx
sub eax, ecx
imul edx, eax, 0x11b25af3
cmp dword [esp + 0x84], 0
setne al
and al, 1
mov byte [esp + 0x53], al
mov ecx, 0xc849d352
mov eax, 0x8de2bcd3
cmp edx, 0x957257f6
cmovb ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xd99dd855
mov eax, 0xbe707a5e
test byte [esp + 0x53], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x973dad1b
jmp 0x10024e79
mov eax, dword [0x102809d4]
mov ecx, dword [0x102809d8]
xor ecx, 0xffffffff
mov edx, eax
xor edx, ecx
and edx, eax
and edx, 0x77a30485
or edx, 0xa68b570
sub edx, 0xc0635faa
mov ecx, 0xdab456d1
mov eax, 0x6d7c61ea
cmp edx, 0xa39a963c
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x102809dc]
or eax, dword [0x102809e0]
mov ecx, eax
xor ecx, 0xa8a90ea7
mov edx, 0xffffffff
xor edx, 0xa8a90ea7
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, eax
or edx, 0x1b04b3aa
xor edx, 0xffffffff
or eax, 0x1b04b3aa
xor eax, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xdc01a11a
mov esi, 0xffffffff
xor esi, 0xdc01a11a
mov eax, edx
and eax, esi
imul eax, ecx
mov ecx, edx
and ecx, 0xdc01a11a
or edx, 0xdc01a11a
imul edx, ecx
add edx, eax
mov ecx, 0xb52587ea
mov eax, 0xdab456d1
cmp edx, 0x718657d3
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x7fdc6f95
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x96543bf3
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xf2d7baac
jmp 0x10024e79
mov eax, dword [0x102809f4]
xor edx, edx
div dword [0x102809f8]
mov ecx, eax
and ecx, 0xbb40deb9
shl ecx, 1
xor eax, 0xbb40deb9
add eax, ecx
xor eax, 0x5f8e1ca9
mov edx, eax
xor edx, 0xffffffff
mov dword [esp + 0x20], edx
mov esi, 0xffffffff
xor esi, 0x2929c516
mov ecx, 0xffffffff
xor ecx, 0x8ee12f5c
and edx, 0x8ee12f5c
and eax, ecx
mov edi, esi
and edi, 0x8ee12f5c
mov ebx, ecx
and ebx, 0x2929c516
or edx, eax
mov eax, dword [esp + 0x20]
or edi, ebx
xor edx, edi
or eax, esi
xor eax, 0xffffffff
or ecx, 0x8ee12f5c
and eax, ecx
or edx, eax
mov ecx, 0x89f1995b
mov eax, 0xde6e6324
cmp edx, 0x5dc72e1b
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x102809fc]
mov ecx, dword [0x10280a00]
xor eax, ecx
imul eax, eax, 0x1b314e37
mov ecx, 0x1b9cd727
mul ecx
shr edx, 0x1c
or edx, 0xa48760ee
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
add edi, esi
adc ecx, eax
mov esi, dword [esp + 0x80]
mov eax, esi
sar eax, 0x1f
sub esi, edi
sbb eax, ecx
setb al
and al, 1
mov byte [esp + 0x52], al
mov ecx, 0xde6e6324
mov eax, 0x60e0273a
cmp edx, 0x552612f2
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xb218b708
jmp 0x10024e79
mov ecx, dword [0x10280a1c]
mov edx, dword [0x10280a20]
mov eax, ecx
xor eax, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
or eax, esi
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
add eax, 0x9c57112d
add eax, 0x98c04641
mov ecx, 0xca083b24
xor edx, edx
div ecx
mov edx, eax
mov eax, dword [ebp + 0x18]
xor eax, 0xffffffff
mov esi, 0xffffffff
xor esi, 1
mov ecx, 0xffffffff
xor ecx, 0xf20ebccc
or eax, esi
or ecx, 0xf20ebccc
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
setne al
and al, 1
mov byte [esp + 0x51], al
mov ecx, 0x6d1253cc
mov eax, 0x41066747
cmp edx, 0x2a227d31
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x10280a24]
mov ecx, dword [0x10280a28]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
and eax, 0x78c02dcb
imul edx, eax, 0x6055b15a
mov esi, 0xffffffff
xor esi, 0x1d2e0c56
mov ecx, edx
and ecx, esi
mov eax, edx
or eax, esi
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, 0x1d2e0c56
or edx, 0x1d2e0c56
imul edx, ecx
add edx, eax
mov ecx, 0xf7665100
mov eax, 0x84fac6e
cmp edx, 0xe4bc3f4d
cmovbe ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x10280a44]
mov ecx, dword [0x10280a48]
sub eax, 0x58fdbe3
sub eax, ecx
add eax, 0x58fdbe3
mov ecx, 0x4e2c187e
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xd080cec7
and edx, 0xba63c594
mov ecx, 0x9c3010bb
mov eax, 0x5b264527
cmp edx, 0x178ae05b
cmova ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xb218b708
jmp 0x10024e79
mov eax, dword [0x10280a54]
mov ecx, dword [0x10280a58]
mov edx, eax
and edx, ecx
or eax, ecx
add edx, eax
and edx, 0x84cafdf1
xor eax, eax
sub eax, 0xfe07a383
sub edx, eax
or edx, 0x2ce016de
mov ecx, 0x6c371fdd
mov eax, 0xaf1a10ef
cmp edx, 0xfbb4b6bf
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0xe90b3e04
mov eax, 0xbd8c626
cmp dword [esp + 0x8c], 0
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x10280a64]
add eax, dword [0x10280a68]
imul edx, eax, 0x14b3b0f3
sub edx, 0x5d5b74a6
add edx, 0x2140175d
add edx, 0x5d5b74a6
mov eax, 0xffffffff
xor eax, 0xbf81037b
xor ecx, ecx
sub ecx, 1
sub eax, ecx
sub edx, eax
mov ecx, 0x33769f5d
mov eax, 0xb9b3e336
cmp edx, 0xc891965d
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, 0x488f86da
mov eax, 0x5e75b5c9
test byte [esp + 0x4d], 1
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x10280a7c]
imul eax, dword [0x10280a80]
mov esi, eax
xor esi, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xf479fd98
or esi, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xf479fd98
or eax, ecx
xor esi, 0xffffffff
xor eax, 0xffffffff
or esi, eax
mov edx, esi
xor edx, 0xffffffff
and edx, 0xda3492e8
mov ecx, 0xffffffff
xor ecx, 0xda3492e8
and esi, ecx
mov eax, 0xffffffff
xor eax, 0x67dc0b65
and eax, 0xda3492e8
and ecx, 0x67dc0b65
or edx, esi
or eax, ecx
xor edx, eax
xor edx, 0xb60e79f9
cmp dword [esp + 0x88], 0
setne al
and al, 1
mov byte [esp + 0x4c], al
mov ecx, 0x72034e39
mov eax, 0xf6828bf4
cmp edx, 0x3a434281
cmovbe ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [0x10280a8c]
mov edx, dword [0x10280a90]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0xaf3caad5
mov esi, 0xffffffff
xor esi, 0xaf3caad5
mov ecx, eax
and ecx, esi
imul ecx, edx
mov edx, eax
and edx, 0xaf3caad5
or eax, 0xaf3caad5
imul eax, edx
add eax, ecx
xor eax, 0x371a5195
add eax, 0xa08a3a1f
add eax, 0xc45735a9
sub eax, 0xa08a3a1f
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x6c]
call fcn.10027660
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.1002a140
sub esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, 0x12fee19b
mov eax, 0xdcc2e4f4
cmp edx, 0x76cb48aa
cmovb ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [esp + 0x34]
mov edx, dword [0x10280a9c]
mov esi, dword [0x10280aa0]
mov eax, edx
and eax, esi
not edx
not esi
or edx, esi
not edx
or eax, edx
xor eax, 0x2aa18454
or eax, 0x55522b83
imul eax, eax, 0xb4a54366
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov eax, esp
mov dword [eax + 4], esi
mov dword [eax], edx
call fcn.10029510
sub esp, 8
mov edx, dword [esp + 0x10]
mov ecx, 0xcc7d9358
mov eax, 0xbc2a3ac2
cmp edx, 0xb18c38ce
cmovae ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xb218b708
jmp 0x10024e79
mov edx, dword [0x10280aa4]
mov eax, dword [0x10280aa8]
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, eax
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x25f8968c
mov esi, 0xffffffff
xor esi, 0x25f8968c
mov eax, ecx
and eax, esi
imul eax, edx
mov edx, ecx
and edx, 0x25f8968c
or ecx, 0x25f8968c
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5d9ca538
mov edx, 0xffffffff
xor edx, 0x5d9ca538
and ecx, edx
or eax, ecx
imul edx, eax, 0x3161a044
mov ecx, 0xa9d8c39e
mov eax, 0x89b0af78
cmp edx, 0x1e9557fe
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov eax, dword [0x10280aac]
mov esi, dword [0x10280ab0]
mov edx, esi
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, esi
add eax, edx
sub eax, ecx
or eax, 0xf4280a82
mov edx, eax
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
mov eax, 0xffffffff
xor eax, 0x24eb98a1
mov ecx, 0xffffffff
xor ecx, 0x24eb98a1
or eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
add edx, 0xca6fc804
add edx, 0x24a10937
sub edx, 0xca6fc804
mov ecx, 0xb0ab887d
mov eax, 0x89b0af78
cmp edx, 0xaf18799b
cmove ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
jmp 0x10024e79
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.100b5a82
mov eax, dword [esp + 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x40f637be
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x91a5741c
jmp 0x10024e79
mov ecx, dword [esp + 0x6c]
call fcn.10027510
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xa8fdfbe9
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x4fefeddb
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x75101da2
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xfe5574e4
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x8de2bcd3
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x89f1995b
jmp 0x10024e79
mov ecx, dword [esp + 0x34]
mov eax, esp
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xffffffff
call fcn.10029510
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x60c249
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x1c82f270
jmp 0x10024e79
mov ecx, dword [esp + 0x34]
mov eax, esp
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xffffffff
call fcn.10029510
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x5b264527
jmp 0x10024e79
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x98]
add eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x6c371fdd
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x33769f5d
jmp 0x10024e79
mov ecx, dword [esp + 0x6c]
call fcn.10027660
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.1002a140
sub esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xa7759220
jmp 0x10024e79
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov eax, esp
mov dword [eax + 4], esi
mov dword [eax], edx
call fcn.10029510
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [eax], 0xc052f728
jmp 0x10024e79
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x89b0af78
jmp 0x10021fe5