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

Disassembly:
sub esp, 0x78
mov ecx, dword [esp + 0x84]
push ebx
push ebp
mov eax, ecx
push esi
xor esi, esi
and eax, 0x1c030002
xor ebp, ebp
push edi
xor edi, edi
or eax, 0xe846d8
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x68], 0xa1ca2cf1
mov dword [esp + 0x6c], 0x9c2fa142
mov dword [esp + 0x70], 0xa7e24abd
mov dword [esp + 0x74], 0x479e7b4
mov dword [esp + 0x64], 0xe7726da2
or ecx, 0xe3fcfffd
sub ecx, eax
jmp 0x10001800
add ecx, 0x1ceb46f2
cmp ecx, 0x19
ja case.0x1000180f.485181151
jmp dword [ecx*4 + 0x100024a4]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x24]
mov ecx, eax
imul eax, eax, 0xa09b10fd
imul edx, edx, 0x69f5423c
and ecx, 0xb99fc880
imul ecx, ecx, 0x413621fa
sub eax, ecx
mov ecx, dword [esp + 0x90]
add edx, ecx
mov ecx, dword [edx + 0x54cd697d]
mov esi, ecx
imul ecx, ecx, 0xa382e3d5
and esi, 0x35356e68
imul esi, esi, 0x4705c7aa
sub ecx, esi
sub eax, 0x2b0ed980
sub ecx, 0x10d4eb78
mov esi, eax
imul eax, eax, 0x49ed8c55
mov ebx, ecx
imul ecx, ecx, 0xaa327afa
imul esi, esi, 0x13db18aa
imul ebx, ebx, 0xaae6c283
or ecx, 0x6a6adcd0
and esi, 0x733f9100
sub ebx, esi
add ebx, ecx
lea eax, [ebx + eax - 0x7b95a5e8]
xor eax, 0x8bbbc43a
imul eax, eax, 0x57424099
lea ecx, [edx + 0x54cd697c]
lea esi, [ecx + ecx]
and esi, 0xf77aa8fe
mov ebx, 0x7d3db29a
sub ebx, esi
add ecx, ebx
mov ebx, eax
imul eax, eax, 0x3ec7ec57
lea esi, [ecx + ecx - 0x300bc36]
imul ebx, ebx, 0x2702752
and ebx, 0x17778874
and esi, 0xf77aa8fe
sub ebx, esi
add ebx, ecx
add eax, ebx
mov ecx, 0x117ecdd6
sub ecx, eax
and ecx, 0xd710f608
lea eax, [eax + ecx*2]
imul eax, eax, 0x1072705
add eax, 0x55485aaa
mov ecx, eax
imul eax, eax, 0x253efb8d
imul ecx, ecx, 0x57aee466
and ecx, 0xae21ec10
imul ecx, ecx, 0x3f979b3f
sub ecx, eax
sub ecx, 0x78d1609f
imul ecx, ecx, 0x47122b41
sub ecx, 0x6c5ccc9e
mov dword [edx + 0x54cd697d], ecx
mov ecx, dword [esp + 0x14]
add ecx, 0xab1a0c0a
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor esi, esi
jmp 0x10001800
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x90]
imul ecx, ecx, 0x69f5423c
mov eax, dword [ecx + edx + 0x54cd698c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
add eax, 0x7abd526e
cdq
mov ebp, 0x7fffffff
idiv ebp
mov ebx, edi
shr ebx, 5
mov esi, ebx
and ebx, 1
not esi
and esi, 1
mov eax, ebx
imul eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
xor ecx, 0x9493fac3
or edi, 0x20
imul edx, esi
add edx, eax
mov dword [esp + 0x14], edx
mov edx, ebx
imul edx, dword [esp + 0x44]
mov eax, esi
imul eax, eax, 0x756d7c01
add edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edx
add eax, 0x1d2d105b
cdq
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x18]
mov ebp, ebx
imul edx, esi
add edx, eax
mov dword [esp + 0x18], edx
mov edx, ebx
imul edx, dword [esp + 0x48]
mov eax, esi
imul eax, eax, 0x2c48ed0d
add edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x48], edx
imul ebp, eax
mov edx, eax
mov eax, dword [esp + 0x4c]
xor edx, 0x2e3ae4ed
imul ebx, eax
imul edx, esi
add edx, ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x30], edx
mov edx, eax
xor edx, 0xb9c6d115
imul edx, esi
add edx, ebx
mov dword [esp + 0x4c], edx
xor esi, esi
jmp 0x10001800
mov eax, dword [esp + 0x50]
mov edx, eax
xor edx, 0x48824444
mov esi, edi
shr esi, 1
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x20]
add edx, ebx
add eax, 0x504c9196
mov dword [esp + 0x50], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x20]
mov ebx, esi
or edi, 2
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x54]
imul ebx, eax
mov dword [esp + 0x20], edx
mov edx, eax
mov eax, dword [esp + 0x38]
xor edx, 0x36d99e1f
imul edx, ecx
add edx, ebx
add eax, 0x315758b4
mov dword [esp + 0x54], edx
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x38]
mov ebx, esi
imul esi, dword [esp + 0x34]
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x60]
imul ebx, eax
mov dword [esp + 0x38], edx
mov edx, eax
mov eax, dword [esp + 0x94]
imul eax, eax, 0x59005b75
xor edx, 0x8901a7a5
imul edx, ecx
imul ecx, ecx, 0x2806810e
add eax, 0x361c702e
imul eax, eax, 0x4f275cdd
add edx, ebx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x5c]
imul edx, edx, 0xdea71d9
sub esi, ecx
mov ecx, 0x37df5fb5
sub ecx, eax
mov eax, 0xd6ee6652
sub eax, edx
xor eax, ecx
not eax
mov dword [esp + 0x34], esi
mov esi, eax
lea edx, [ecx + edx + 0x291199ae]
or eax, ecx
mov ecx, dword [esp + 0x64]
or esi, edx
sub eax, esi
add eax, edx
shr eax, 0x1f
not eax
and eax, 1
mov edx, 0
mov esi, ecx
sete dl
xor esi, 0x39fd511c
xor ecx, 0x39fd5117
imul edx, esi
imul ecx, eax
add ecx, edx
xor esi, esi
jmp 0x10001800
mov eax, dword [esp + 0x14]
add eax, 0xb1385a5e
cdq
mov ebx, 0x7fffffff
idiv ebx
mov esi, edi
shr esi, 4
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
mov eax, esi
imul eax, dword [esp + 0x14]
mov ebx, esi
or edi, 0x10
imul edx, ecx
add edx, eax
mov dword [esp + 0x14], edx
mov edx, esi
imul edx, dword [esp + 0x3c]
mov eax, ecx
imul eax, eax, 0xbb2afd
add edx, eax
mov dword [esp + 0x3c], edx
mov edx, esi
imul edx, dword [esp + 0x1c]
mov eax, ecx
imul eax, eax, 0x4a2a1e1d
sub edx, eax
mov dword [esp + 0x1c], edx
mov edx, esi
imul edx, dword [esp + 0x40]
mov eax, ecx
imul eax, eax, 0x67590fdd
sub edx, eax
mov dword [esp + 0x40], edx
mov edx, esi
imul edx, dword [esp + 0x28]
mov eax, ecx
imul eax, eax, 0x314aa5ef
sub edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x18]
xor edx, 0xd78979ad
imul edx, ecx
add edx, ebx
mov dword [esp + 0x44], edx
add eax, 0xc93b1940
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x18]
mov ebx, esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x4c]
xor edx, 0x715ec7f0
imul esi, eax
imul edx, ecx
add edx, ebx
mov dword [esp + 0x48], edx
mov edx, eax
xor edx, 0x44818a5b
imul edx, ecx
add edx, esi
xor ecx, ecx
xor esi, esi
cmp dword [esp + 0x78], esi
mov dword [esp + 0x4c], edx
setne cl
xor edx, edx
cmp ecx, esi
sete dl
mov eax, dword [esp + 0x30]
mov ebx, eax
xor ebx, 0x67b8cc0a
xor eax, 0x67b8cc23
imul edx, ebx
imul eax, ecx
add edx, eax
mov ecx, edx
jmp 0x10001800
mov ecx, dword [esp + 0x10]
add ecx, 0x68f22400
jmp 0x10002479
mov eax, dword [esp + 0x50]
mov edx, eax
xor edx, 0x71f8ae91
mov ecx, edi
not ecx
and ecx, 1
imul edx, ecx
mov esi, edi
and esi, 1
mov ebx, esi
imul ebx, eax
mov eax, dword [esp + 0x20]
add edx, ebx
mov dword [esp + 0x50], edx
add eax, 0x25935ce9
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x20]
mov ebx, esi
or edi, 1
imul edx, ecx
add edx, eax
mov dword [esp + 0x20], edx
mov eax, ecx
imul eax, eax, 0x117e0613
mov edx, esi
imul edx, ebp
add edx, eax
mov ebp, edx
mov eax, ecx
imul eax, eax, 0x1c5f1a00
mov edx, esi
imul edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, ecx
imul eax, eax, 0x15bb1fea
mov edx, esi
imul edx, dword [esp + 0x2c]
add edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x2c], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x34]
xor edx, 0xbdb76172
imul esi, eax
imul edx, ecx
add edx, ebx
mov dword [esp + 0x54], edx
mov edx, eax
mov eax, dword [esp + 0x5c]
xor edx, 0xe8aafe9c
imul eax, eax, 0x1650e4f4
imul edx, ecx
add edx, esi
xor ecx, ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x90]
cmp dword [eax + edx + 0x35600194], 2
mov dword [esp + 0x58], ebp
setne cl
xor edx, edx
xor esi, esi
mov eax, ecx
mov ecx, dword [esp + 0x60]
cmp eax, esi
sete dl
mov ebx, ecx
xor ebx, 0x4d1b4bcd
xor ecx, 0x4d1b4bc3
imul ecx, eax
imul edx, ebx
add ecx, edx
jmp 0x10001800
mov ecx, dword [esp + 0x20]
add ecx, 0xd4aed1eb
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, edi
shr ebx, 3
mov edx, ebp
xor edx, 0x41160105
mov esi, ebx
and ebx, 1
not esi
and esi, 1
imul edx, esi
mov eax, ebx
imul eax, ebp
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], edx
add eax, 0x3c2c251f
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x10]
mov ebp, ebx
or edi, 8
imul edx, esi
add edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
imul ebp, eax
mov edx, eax
mov eax, dword [esp + 0x34]
xor edx, 0x4c3d9485
imul edx, esi
add edx, ebp
mov dword [esp + 0x2c], edx
mov edx, eax
xor edx, 0x472613c8
mov ebp, ebx
imul ebx, dword [esp + 0x30]
imul edx, esi
imul ebp, eax
imul esi, esi, 0x387ce34b
add edx, ebp
mov ebp, dword [esp + 0x58]
sub ebx, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebx
xor esi, esi
jmp 0x10001800
mov ecx, dword [esp + 0x54]
sub dword [esp + 0x5c], 0x724d0197
xor ecx, 0xe6aafd56
jmp 0x10001800
mov eax, dword [esp + 0x28]
add eax, 0xe7189157
cdq
mov ecx, 0x7fffffff
idiv ecx
mov ecx, dword [esp + 0x44]
xor ecx, 0x5a76d79d
mov dword [esp + 0x28], edx
jmp 0x10001800
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x90]
imul edx, edx, 0x69f5423c
mov eax, dword [edx + eax + 0x54cd697c]
add eax, dword [esp + 0x80]
mov ebx, edi
mov ecx, eax
mov dword [esp + 0x84], eax
imul eax, eax, 0x5c2f09f7
and ecx, 0x7b87b59c
imul ecx, ecx, 0x47a1ec12
lea eax, [ecx + eax + 0x5cf6b584]
imul eax, eax, 0xe4c287c7
and eax, 3
add eax, 0x2086b504
imul eax, eax, 0x415d8d1
add eax, 0x32b9b25e
imul eax, eax, 0x10e67fcf
shr ebx, 7
mov ecx, 0x35921b58
sub ecx, eax
mov eax, dword [esp + 0x3c]
mov edx, eax
xor edx, 0x1e2b0018
mov esi, ebx
and ebx, 1
not esi
and esi, 1
imul edx, esi
mov ebp, ebx
imul ebp, eax
mov eax, dword [esp + 0x1c]
add edx, ebp
mov dword [esp + 0x3c], edx
add eax, 0xcf23d37a
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, ebx
imul eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x58]
or edi, 0x80
imul edx, esi
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
imul ebx, eax
mov edx, eax
xor edx, 0x64b998d
imul edx, esi
add edx, ebx
mov dword [esp + 0x40], edx
lea eax, [ecx - 0x1200f45a]
mov edx, 0x1200f45a
sub edx, ecx
or eax, edx
mov edx, ecx
and edx, 0xedff0ba6
sub eax, edx
or ecx, 0x1200f459
lea ecx, [eax + ecx - 0x1200f459]
mov eax, dword [esp + 0x48]
shr ecx, 0x1f
not ecx
and ecx, 1
mov edx, 0
sete dl
mov esi, eax
xor esi, 0xe1829aa3
xor eax, 0xe1829a98
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor esi, esi
jmp 0x10001800
mov ecx, dword [esp + 0x38]
add ecx, 0xa4a058f3
jmp 0x10002479
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x84]
imul ecx, ecx, 0x69f5423c
mov eax, dword [edx]
mov edx, dword [esp + 0x90]
mov dword [ecx + edx + 0x54cd697c], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0xd3f863f7
jmp 0x10002479
mov ecx, dword [esp + 0x50]
xor ecx, 0x7adcaa40
jmp 0x10001800
mov ecx, dword [esp + 0x70]
xor ecx, 0x9d9f5d2d
jmp 0x10001800
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x24], 0x3fdef7d5
add ecx, 0x65c6c6fa
jmp 0x10002479
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x7c], 1
add ecx, 0xae205281
jmp 0x10002479
mov ecx, dword [esp + 0x8c]
push esi
push ecx
mov dword [esp + 0x2c], 0xefdc5ecf
call fcn.1000dab0
add esp, 8
cmp eax, esi
mov dword [esp + 0x80], eax
jne 0x100020bb
push 0xce
push 0xb777
push 0xab1b
push 0xa
push 0x10041144
push 0x1003a1ec
call fcn.100014d0
add esp, 0x14
push eax
push 0xd1d3
push 0xd196
push 0x19
push 0x10041158
push 0x1003a1b8
call fcn.10001270
add esp, 0x14
push eax
call fcn.10011d68
add esp, 0xc
mov ecx, dword [esp + 0x6c]
add ecx, 0xb7d09c6a
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov eax, dword [esp + 0x38]
add eax, 0x9af75ef
cdq
mov ebx, 0x7fffffff
idiv ebx
xor dword [esp + 0x64], 0xf945ba99
xor dword [esp + 0x60], 0x4e996b32
mov dword [esp + 0x5c], 0x8e04520b
mov dword [esp + 0x50], 0xa0b2f980
mov dword [esp + 0x20], 0x9885f8b9
mov dword [esp + 0x54], 0x8ed0bb2b
mov dword [esp + 0x38], edx
jmp 0x10001800
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x90]
imul edx, edx, 0x1650e4f4
lea eax, [edx + ecx + 0x35600184]
mov edx, dword [esp + 0x24]
imul edx, edx, 0x69f5423c
lea ecx, [edx + ecx + 0x54cd697c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, ebp
xor ecx, 0x6be203e7
jmp 0x10001800
mov ecx, dword [esp + 0x3c]
xor ecx, 0x1ffc16df
jmp 0x10001800
mov esi, edi
shr esi, 2
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
mov eax, esi
imul eax, ebp
mov edx, ebp
xor edx, 0xd89ebdfe
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x10]
mov ebp, edx
add eax, 0x5a5589f0
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x10]
mov ebx, esi
or edi, 4
mov dword [esp + 0x58], ebp
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
imul ebx, eax
mov edx, eax
xor edx, 0x2e01c8bd
imul edx, ecx
add edx, ebx
mov dword [esp + 0x2c], edx
mov edx, ecx
imul edx, edx, 0xc050046
mov eax, esi
imul eax, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x14], eax
mov edx, ecx
imul edx, edx, 0x691a3780
mov eax, esi
imul eax, dword [esp + 0x18]
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov edx, eax
xor edx, 0x6d158d5c
imul edx, ecx
imul ecx, ecx, 0x18f6e772
mov ebx, esi
imul esi, dword [esp + 0x4c]
imul ebx, eax
mov eax, dword [esp + 0x5c]
add edx, ebx
imul eax, eax, 0xdea71d9
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x24]
imul edx, edx, 0x387f7683
sub esi, ecx
mov ecx, edx
sub ecx, eax
sub eax, edx
sub eax, 0x34c57866
add ecx, 0x34c57866
or ecx, eax
mov eax, dword [esp + 0x34]
not ecx
shr ecx, 0x1f
mov edx, 0
sete dl
mov dword [esp + 0x4c], esi
mov esi, eax
xor esi, 0x9b612ab9
xor eax, 0x9b612ab4
imul eax, ecx
imul edx, esi
add edx, eax
mov ecx, edx
xor esi, esi
jmp 0x10001800
mov ecx, dword [esp + 0x68]
xor ecx, 0x9bd917b7
jmp 0x10001800
cmp dword [esp + 0x8c], esi
jne 0x100022fc
push 0xc7
push 0xb8f7
push 0xa907
push 0xa
push 0x1004118c
push str.kbjbib_bZbbbbb_b_b
call fcn.10001270
add esp, 0x14
push eax
push 0xe011
push 0xcb83
push 0x17
push 0x100411a0
push 0x1003a174
call fcn.10001000
add esp, 0x14
push eax
call fcn.10011d68
add esp, 0xc
mov eax, dword [esp + 0x6c]
add eax, 0x8f147b64
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x74]
add eax, 0x307a7eef
xor dword [esp + 0x68], 0xd9078266
xor dword [esp + 0x70], 0xd969ae8d
xor dword [esp + 0x64], 0xc4de3f34
mov dword [esp + 0x38], 0x36d9187
mov dword [esp + 0x60], 0x69973e40
mov dword [esp + 0x6c], edx
cdq
idiv ecx
xor ecx, ecx
cmp dword [esp + 0x94], esi
setle cl
mov dword [esp + 0x74], edx
xor edx, edx
cmp ecx, esi
sete dl
imul ecx, ecx, 0xe314b91b
imul edx, edx, 0x1ceb46e2
sub ecx, edx
jmp 0x10001800
mov ecx, dword [esp + 0x40]
xor ecx, 0xa3520072
jmp 0x10001800
mov eax, dword [esp + 0x3c]
mov edx, eax
xor edx, 0xe278851c
mov esi, edi
shr esi, 6
mov ecx, esi
and esi, 1
not ecx
and ecx, 1
imul edx, ecx
mov ebx, esi
imul ebx, eax
add edx, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], edx
add eax, 0x8a229fd2
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x1c]
mov ebx, esi
or edi, 0x40
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x28]
xor edx, 0xdeabd0c0
imul edx, ecx
add edx, ebx
mov dword [esp + 0x40], edx
add eax, 0xa3c7a086
cdq
mov ebx, 0x7fffffff
idiv ebx
mov eax, esi
imul eax, dword [esp + 0x28]
mov ebx, esi
imul edx, ecx
add edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], edx
imul ebx, eax
mov edx, eax
mov eax, dword [esp + 0x48]
xor edx, 0x1b866b10
imul esi, eax
imul edx, ecx
add edx, ebx
mov dword [esp + 0x44], edx
mov edx, eax
xor edx, 0x5f80097c
imul edx, ecx
mov eax, dword [esp + 0x4c]
add edx, esi
xor ecx, ecx
cmp dword [esp + 0x78], 1
mov dword [esp + 0x48], edx
setne cl
xor edx, edx
xor esi, esi
mov ebx, eax
cmp ecx, esi
sete dl
xor ebx, 0xf95afad7
xor eax, 0xf95afad6
imul eax, ecx
imul edx, ebx
add edx, eax
mov ecx, edx
jmp 0x10001800
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x7c], esi
add ecx, 0x897f2d36
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
jmp 0x100017f2
mov eax, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret