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

Disassembly:
sub esp, 0x10c
push ebx
xor ebx, ebx
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], 0xf6df3a39
mov dword [esp + 0xf4], 0xdf41255b
mov dword [esp + 0xf0], 0x2f16375a
mov dword [esp + 0xec], 0x7c4710aa
mov dword [esp + 0xe0], 0x52aaa226
mov ecx, 0x8f8bf115
lea ecx, [ecx]
add ecx, 0x70740f1f
cmp ecx, 0x35
ja case.0x1002242f.1886654229
jmp dword [ecx*4 + 0x100234ec]
mov ecx, dword [esp + 0x94]
xor dword [esp + 0x5c], 0x5f80097c
add ecx, 0x9d2c711b
mov eax, 0xbfffffff
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
jmp 0x10022420
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x58]
mov ebp, eax
imul eax, eax, 0x6267a409
sub eax, 0x242c2313
mov dword [esp + 0x14], eax
add ecx, 0xa9348273
jmp 0x1002244b
mov eax, dword [esp + 0x40]
add eax, 0xebdb3069
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xd4]
add eax, 0x522c13d6
xor dword [esp + 0xc4], 0x95ec89eb
mov dword [esp + 0x48], 0xa68c5a69
mov dword [esp + 0xa8], 0x394373cf
mov dword [esp + 0xb8], 0xcd556528
mov dword [esp + 0x70], 0x1ea06c5d
mov dword [esp + 0x60], 0xc3a550c4
mov dword [esp + 0xc0], 0x8d61ee0d
mov dword [esp + 0x9c], 0x29e73db1
mov dword [esp + 0x20], 0x76edbfab
mov dword [esp + 0x40], edx
cdq
idiv ecx
mov eax, dword [esp + 0xb0]
add eax, 0x791901ee
mov dword [esp + 0xd4], edx
cdq
idiv ecx
mov eax, dword [esp + 0x80]
add eax, 0xd9b43d0f
mov dword [esp + 0xb0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x1c]
add eax, 0xd3d87a67
mov dword [esp + 0x80], edx
cdq
idiv ecx
mov eax, dword [esp + 0x30]
add eax, 0x26c1a9fd
mov dword [esp + 0x1c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x488edbcc
mov eax, 0x40000001
mov dword [esp + 0x30], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x24]
xor edx, edx
add ecx, 0x488edbba
cmp edi, 4
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xdc]
mov dword [esi + 4], eax
xor ecx, 0xd860273b
jmp 0x10022420
mov eax, dword [esp + 0x48]
add eax, 0xb118ecde
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x50]
add eax, 0xf10fc772
xor dword [esp + 0xa8], 0x66bd1298
xor dword [esp + 0xcc], 0xf9b80719
mov dword [esp + 0x48], edx
cdq
idiv ecx
mov eax, dword [esp + 0x58]
add eax, 0xff4a4dd8
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov eax, dword [esp + 0x60]
add eax, 0xee30b7ec
mov dword [esp + 0x58], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xb0]
add ecx, 0x5e78641e
mov dword [esp + 0x60], edx
jmp 0x1002244b
mov eax, dword [esp + 0x120]
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
add eax, 0xe3af93db
cdq
lea ecx, [esp + 0x104]
mov dword [esp + 0x10], ecx
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x7c]
add eax, 0x7bb2493f
xor dword [esp + 0x74], 0xcf23d37a
xor dword [esp + 0x84], 0xeba0a0ed
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x90], 0x76a48258
mov dword [esp + 0xd8], 0x580288ac
mov dword [esp + 0x98], 0x58c70a46
mov dword [esp + 0x6c], edx
cdq
idiv ecx
mov eax, dword [esp + 0xa4]
add eax, 0x847f396f
mov dword [esp + 0x7c], edx
cdq
idiv ecx
mov eax, dword [esp + 0xac]
add eax, 0x74f74569
mov dword [esp + 0xa4], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x9c]
add ecx, 0x1ab2952f
mov dword [esp + 0xac], edx
mov eax, 0xbfffffff
imul ecx
mov esi, dword [esp + 0x10]
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
jmp 0x10022420
mov ecx, dword [esp + 0xcc]
xor ecx, 0xf1d1d7c
jmp 0x10022420
mov ecx, dword [esp + 0x38]
xor ecx, 0xae0ff2d9
jmp 0x10022420
mov edi, esi
call fcn.100217a0
mov eax, dword [esp + 0x90]
add eax, 0x9679c520
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x98]
add eax, 0x6dc4023b
xor dword [esp + 0xd8], 0x1d2d105b
mov dword [esp + 0x90], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xac]
add ecx, 0x291b5d34
mov dword [esp + 0x98], edx
mov eax, 0xbfffffff
imul ecx
mov edi, dword [esp + 0xe4]
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
xor ebx, ebx
jmp 0x10022420
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x90]
add ecx, 0x66e73e79
jmp 0x1002244b
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0xf0]
imul ebp, ebp, 0x4bd2cea7
sub ebp, 0x223ad92f
mov dword [esp + 0xe8], ebp
add ecx, 0xe8a1c39d
jmp 0x1002244b
mov eax, dword [esp + 0xe0]
add eax, 0x37be1680
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, dword [esp + 0x2c]
add eax, 0xb5836bae
mov ecx, dword [esp + 0xec]
xor ecx, 0x9a6b5b20
mov dword [esp + 0xc8], 0x6b7f3bef
mov dword [esp + 0xa0], 0x6882e99b
mov dword [esp + 0x24], 0xbe252445
mov dword [esp + 0xe0], edx
cdq
idiv ebx
xor ebx, ebx
mov dword [esp + 0x2c], edx
jmp 0x10022420
mov ecx, dword [esp + 0x74]
xor ecx, 0x3c9fbdf
jmp 0x10022420
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 4]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], edx
mov dword [esp + 0x14], 0xe2393350
xor ecx, 0xe55a23bb
jmp 0x10022420
mov eax, dword [esp + 0xd4]
add eax, 0x20e8efd9
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x24]
add eax, 0x1beab92a
xor dword [esp + 0xc8], 0x85b2a320
xor dword [esp + 0xa0], 0xb9c6d115
mov dword [esp + 0x40], 0x6ebeded1
mov dword [esp + 0xc4], 0x3753a108
mov dword [esp + 0xb0], 0xf33600d3
mov dword [esp + 0x80], 0xea8f23e5
mov dword [esp + 0x30], 0xf5061281
mov dword [esp + 0xd4], edx
cdq
idiv ecx
mov eax, dword [esp + 0x1c]
add eax, 0x8922fd61
mov dword [esp + 0x24], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x2c]
add ecx, 0xe6ae44d3
mov eax, 0x40000001
mov dword [esp + 0x1c], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x2c]
xor edx, edx
add ecx, 0xe6ae44c6
cmp edi, 1
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xf8], eax
add ecx, 0x94a10ee2
jmp 0x1002244b
mov ebp, dword [esp + 0xfc]
mov ecx, ebp
imul ecx, ecx, 0x2bd30e75
mov eax, 0xe90d5f4a
sub eax, ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x14], eax
xor ecx, 0xd5f589f1
jmp 0x10022420
mov ecx, dword [esp + 0x70]
add ecx, 0xbb4c9576
jmp 0x1002244b
mov ecx, dword [esp + 0x54]
xor ecx, 0xe37df852
jmp 0x10022420
mov ecx, dword [esp + 0x78]
add ecx, 0xe4a9f150
jmp 0x1002244b
mov eax, dword [esp + 0x70]
add eax, 0x43a64095
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x80]
add eax, 0x376a62d6
xor dword [esp + 0xb8], 0xd9078266
mov dword [esp + 0xdc], 0xc709b54a
mov dword [esp + 0x78], 0xdfd882a4
mov dword [esp + 0x6c], 0xa49437d
mov dword [esp + 0x74], 0x91a0f117
mov dword [esp + 0x8c], 0x323c9074
mov dword [esp + 0x34], 0xbfd4e941
mov dword [esp + 0xa4], 0xc69a77a
mov dword [esp + 0x28], 0xc3fed92a
mov dword [esp + 0x70], edx
cdq
idiv ecx
mov eax, dword [esp + 0xc0]
add eax, 0x1dd617d6
mov dword [esp + 0x80], edx
cdq
idiv ecx
mov eax, dword [esp + 0x9c]
add eax, 0x1c96c84c
mov dword [esp + 0xc0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x30]
add eax, 0xcd057bca
mov dword [esp + 0x9c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x20]
add eax, 0xa4d86867
mov dword [esp + 0x30], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xd7a9d1fe
mov eax, 0x40000001
mov dword [esp + 0x20], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
add ecx, 0xd7a9d1dd
cmp edi, 2
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x7c]
mov dword [esi], eax
add ecx, 0xf3df7d62
jmp 0x1002244b
mov eax, dword [esp + 0x78]
add eax, 0xf26abf1c
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x44]
add eax, 0x2e01c8bd
xor dword [esp + 0xdc], 0x25935ce9
xor dword [esp + 0xd0], 0x5a5589f0
xor dword [esp + 0x88], 0xb1385a5e
mov dword [esp + 0x78], edx
cdq
idiv ecx
mov eax, dword [esp + 0x34]
add eax, 0xbd370bb3
mov dword [esp + 0x44], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xc0]
add ecx, 0xc841d148
mov dword [esp + 0x34], edx
jmp 0x1002244b
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esi + 4], ebp
add ecx, 0xbf1a949b
jmp 0x1002244b
mov eax, dword [esp + 0x4c]
add eax, 0x44f6f3a0
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x94]
add eax, 0x2e3ae4ed
xor dword [esp + 0x54], 0xf262a82d
xor dword [esp + 0x5c], 0x715ec7f0
mov dword [esp + 0xbc], 0x76fe5eba
mov dword [esp + 0x38], 0xe61ccf5f
mov dword [esp + 0x3c], 0x67857005
mov dword [esp + 0x4c], edx
cdq
idiv ecx
mov eax, dword [esp + 0xb4]
add eax, 0x492ac9bb
mov dword [esp + 0x94], edx
cdq
idiv ecx
mov eax, dword [esp + 0x64]
add eax, 0x9af27d88
mov dword [esp + 0xb4], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x2961e00b
mov eax, 0x40000001
mov dword [esp + 0x64], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x28]
xor edx, edx
add ecx, 0x2961dfdc
cmp edi, 5
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov dword [esi], ebp
mov dword [esi + 8], eax
add ecx, 0x26cf898e
jmp 0x1002244b
mov ebx, esi
call fcn.10020160
mov eax, dword [esp + 0x50]
add eax, 0xbd0069df
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x58]
add eax, 0xe5600661
xor dword [esp + 0xcc], 0xd15df757
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x60]
add ecx, 0x7c7368c3
mov eax, 0xbfffffff
mov dword [esp + 0x58], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
xor ebx, ebx
jmp 0x10022420
mov ecx, dword [esp + 0x84]
xor ecx, 0x96ccd0ab
jmp 0x10022420
call fcn.1001eed0
mov eax, dword [esp + 0xbc]
add eax, 0xc4de3f34
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x3c]
add eax, 0x472613c8
xor dword [esp + 0x38], 0x4e996b32
mov esi, dword [esp + 0x10]
mov dword [esp + 0xbc], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x64]
add ecx, 0xc62d1053
mov eax, 0xbfffffff
mov dword [esp + 0x3c], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
xor ebx, ebx
jmp 0x10022420
mov ecx, dword [esp + 0x120]
push ecx
call fcn.1001f820
mov ecx, dword [esp + 0x90]
mov edx, eax
imul edx, edx, 0x14a606e9
mov eax, 0xf6df3a39
sub eax, edx
add esp, 4
mov dword [esp + 0x14], eax
xor ecx, 0xacb8e1ac
jmp 0x10022420
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x98]
lea ebp, [eax + eax + 0x17ee066]
and ebp, 0x3fd6628e
sub ebp, eax
imul ebp, ebp, 0x14a606e9
add ebp, 0x3ead662f
mov dword [esp + 0x14], ebp
add ecx, 0x92274666
jmp 0x1002244b
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esi + 4]
add ecx, 0x5a69988a
jmp 0x1002244b
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xe4], edx
add ecx, 0xaf47b02
mov eax, 0xbfffffff
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xd0ba13a1
cdq
mov edi, 0x7fffffff
idiv edi
mov eax, dword [esp + 0x24]
xor dword [esp + 0xc8], 0x841c4a72
xor dword [esp + 0xa0], 0x44818a5b
add eax, 0x6ced37ce
mov dword [esp + 0xd4], 0x66302273
mov dword [esp + 0x1c], 0x5ae6a746
mov dword [esp + 0x2c], edx
cdq
idiv edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x24], edx
jmp 0x10022420
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
mov ecx, dword [esp + 0x4c]
add ecx, 0xd7efe7e4
jmp 0x1002244b
mov ecx, dword [esp + 0xa8]
xor ecx, 0xc9e62806
jmp 0x10022420
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0xa0]
imul ebp, ebp, 0x4bd2cea7
sub ebp, 0x223ad92f
mov dword [esp + 0xe8], ebp
xor ecx, 0x1a4e43c1
jmp 0x10022420
mov ecx, dword [esp + 0x68]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x48]
add ecx, 0xa4fafdc7
jmp 0x1002244b
mov ecx, dword [esp + 0xc4]
xor ecx, 0x7ed1aea9
jmp 0x10022420
mov eax, dword [esp + 0x120]
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
add eax, 0xe22581d
cdq
lea ecx, [esp + 0x104]
mov dword [esp + 0x10], ecx
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x48]
add eax, 0x92ebabef
xor dword [esp + 0xc4], 0x53e576af
xor dword [esp + 0xa8], 0x1993b9ac
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x50], 0x4cdab0af
mov dword [esp + 0xcc], 0xa8731dd0
mov dword [esp + 0x58], 0x1ad1a5a
mov dword [esp + 0x40], edx
cdq
idiv ecx
mov eax, dword [esp + 0xb0]
add eax, 0xc4c48a28
mov dword [esp + 0x48], edx
cdq
idiv ecx
mov eax, dword [esp + 0x60]
add eax, 0x61427f7f
mov dword [esp + 0xb0], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xd4]
add ecx, 0xb646cada
mov dword [esp + 0x60], edx
jmp 0x100226fa
mov ecx, dword [esi + 8]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xd0]
xor ecx, 0x1bcfa404
jmp 0x10022420
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0xb8]
mov dword [esi], edx
xor ecx, 0x22c3ff85
jmp 0x10022420
mov eax, dword [esp + 0x120]
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
add eax, 0x71f8ae91
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x78]
add eax, 0xd89ebdfe
xor dword [esp + 0xb8], 0xb91ae832
xor dword [esp + 0xdc], 0xb5713f96
mov dword [esp + 0xd0], 0xce9df1f6
mov dword [esp + 0x44], 0xcbb81612
mov dword [esp + 0x88], 0xc3b66583
mov dword [esp + 0x70], edx
cdq
idiv ecx
mov eax, dword [esp + 0xc0]
add eax, 0x1c1219b9
mov dword [esp + 0x78], edx
cdq
idiv ecx
mov eax, dword [esp + 0x34]
add eax, 0xba0b9b4e
mov dword [esp + 0xc0], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x80]
add ecx, 0x93de2d41
mov dword [esp + 0x34], edx
jmp 0x100226fa
mov ecx, dword [esp + 0xd8]
xor ecx, 0x7975669d
jmp 0x10022420
mov edi, esi
call fcn.10020bd0
mov eax, dword [esp + 0x44]
add eax, 0xf6afa6fb
cdq
mov ecx, 0x7fffffff
idiv ecx
mov ecx, dword [esp + 0x34]
xor dword [esp + 0xd0], 0x8c2cf1
xor dword [esp + 0x88], 0x28f0472a
add ecx, 0x587460c8
mov dword [esp + 0x44], edx
jmp 0x1002278d
mov eax, dword [esp + 0x7c]
add eax, 0x64b998d
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x90]
add eax, 0x1b866b10
xor dword [esp + 0x84], 0xa3c7a086
xor dword [esp + 0xd8], 0xb3d10f6b
mov dword [esp + 0x7c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x98]
add eax, 0x36d99e1f
mov dword [esp + 0x90], edx
cdq
idiv ecx
mov eax, dword [esp + 0xac]
add eax, 0x85926159
mov dword [esp + 0x98], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xa4]
add ecx, 0x6c894a35
mov dword [esp + 0xac], edx
jmp 0x1002244b
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x120]
add eax, 0xd969ae8d
lea edx, [esp + 0x104]
mov dword [esp + 0x10], edx
cdq
mov dword [esp + 0x18], ecx
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xbc]
add eax, 0xf945ba99
xor dword [esp + 0x54], 0x307a7eef
xor dword [esp + 0x38], 0x8901a7a5
mov dword [esp + 0x4c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x3c]
add eax, 0xe8aafe9c
mov dword [esp + 0xbc], edx
cdq
idiv ecx
mov eax, dword [esp + 0x64]
add eax, 0x8382ecf5
mov dword [esp + 0x3c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xb4]
add ecx, 0x23b4148b
mov dword [esp + 0x64], edx
jmp 0x100226fa
mov ecx, dword [esp + 0x3c]
mov eax, ebp
imul eax, eax, 0x211ee405
sub eax, 0x7eac0125
mov dword [esp + 0x14], eax
add ecx, 0xf8356e9d
jmp 0x1002244b
mov ecx, dword [esp + 0x44]
add ecx, 0x9f226b29
jmp 0x1002244b
mov ecx, dword [esp + 0x5c]
xor ecx, 0x29623ba
jmp 0x10022420
mov ecx, dword [esp + 0xf4]
xor ecx, 0x5fb06cf0
jmp 0x10022420
mov eax, dword [esp + 0xf0]
add eax, 0x77d3f61d
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xe0]
add eax, 0xfa2ebd49
xor dword [esp + 0xf4], 0xf7ab943
xor dword [esp + 0xec], 0x69a7ba89
mov dword [esp + 0x2c], 0x22a02cce
mov dword [esp + 0xf0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x120]
cmp eax, ebx
mov dword [esp + 0xe0], edx
je 0x100232b9
mov eax, dword [eax]
xor ecx, ecx
cmp eax, ebx
setl cl
cmp ecx, ebx
je 0x100232c0
mov eax, 1
jmp 0x100232ca
xor edx, edx
cmp eax, 7
setge dl
mov eax, edx
xor ecx, ecx
cmp eax, ebx
sete cl
xor eax, eax
cmp ecx, ebx
sete al
imul ecx, ecx, 0x8f8bf0ee
imul eax, eax, 0x70740f13
sub ecx, eax
jmp 0x10022420
mov eax, dword [esp + 0x94]
add eax, 0x6d158d5c
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xb4]
add eax, 0xba099a19
xor dword [esp + 0x8c], 0x315758b4
mov dword [esp + 0x4c], 0x993b66ee
mov dword [esp + 0x54], 0xaeeede6f
mov dword [esp + 0x5c], 0xa3c31c30
mov dword [esp + 0x64], 0xaae97632
mov dword [esp + 0x94], edx
cdq
idiv ecx
mov eax, dword [esp + 0x28]
add eax, 0xbb776363
mov dword [esp + 0xb4], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xb501379f
mov eax, 0x40000001
mov dword [esp + 0x28], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
mov ecx, dword [esp + 0x20]
xor edx, edx
add ecx, 0xb501379a
cmp edi, 6
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, esi
xor edx, edx
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esp + 0x6c]
add eax, 0xe278851c
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x9c]
add eax, 0x2e5b55ce
xor dword [esp + 0x74], 0xd2c128bd
xor dword [esp + 0x8c], 0x2058d86a
mov dword [esp + 0x7c], 0x19ae90bc
mov dword [esp + 0x84], 0x5120202a
mov dword [esp + 0x94], 0x570f0daf
mov dword [esp + 0xac], 0x6be6ecf6
mov dword [esp + 0xb4], 0x68a378a5
mov dword [esp + 0x6c], edx
cdq
idiv ecx
mov eax, dword [esp + 0xa4]
add eax, 0x9219c5da
mov dword [esp + 0x9c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x20]
add eax, 0xbec4914f
mov dword [esp + 0xa4], edx
cdq
idiv ecx
mov eax, dword [esp + 0x28]
add eax, 0xe6b3d478
mov dword [esp + 0x20], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x30]
add ecx, 0xa6beb89e
mov eax, 0x40000001
mov dword [esp + 0x28], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, edx
mov ebx, ecx
mov ecx, dword [esp + 0x30]
add ecx, 0xa6beb8ce
cmp edi, 3
setne dl
mov eax, 0x40000001
mov esi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, edx
imul ecx, esi
test esi, esi
mov esi, dword [esp + 0x10]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10022420
mov eax, dword [esp + 0xe8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret