Function at 0x100672e0
Capabilities:
Encode data using xor
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 esi, esp
mov dword [esi], ebp
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x94], eax
mov eax, esp
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0xa0]
mov dword [esi + 0xa4], 0x1009a600
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
mov ecx, dword [0x1028573c]
mov edi, dword [0x10285740]
mov ebx, edi
xor ebx, 0xffffffff
mov edx, ecx
and edx, ebx
mov eax, ecx
or eax, ebx
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, edi
or ecx, edi
imul ecx, edx
add ecx, eax
add ecx, 0xa613f0a3
sub ecx, 0x28567745
sub ecx, 0xa613f0a3
sub ecx, 0xf8c5032a
mov eax, ecx
and eax, 0xe0571a24
xor ecx, 0xffffffff
and ecx, 0x1fa8e5db
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xfccd7703
ja 0x10068128
mov edi, dword [esi + 0x94]
mov ebx, dword [esi + 0x90]
mov eax, dword [0x10285744]
mov ecx, dword [0x10285748]
or eax, ecx
mov ecx, 0x6eda900d
mul ecx
mov ecx, edx
shr ecx, 0x1d
or ecx, 0x4631a4dd
mov eax, ecx
xor eax, 0x411a048
and eax, ecx
mov dword [esi + 0x88], eax
push eax
mov eax, esp
mov ecx, eax
mov dword [esi + 0x6c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x84], ecx
mov dword [esi + 0x70], ecx
push eax
mov ecx, esp
mov edx, ecx
mov dword [esi + 0x74], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x80], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x78], edx
mov esp, edx
push eax
push eax
mov edx, esp
mov dword [esi + 0x7c], edx
mov edx, dword [esi + 0x84]
mov dword [eax], ebx
mov dword [edx], edi
mov dword [ecx], 0
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.100303b0
mov ecx, dword [esi + 0x80]
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x84]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.100827d0
mov ecx, eax
mov eax, dword [esi + 0x88]
sub ecx, 1
sbb edx, 0
setl cl
mov byte [esi + 0x8f], cl
cmp eax, 0xb595fcc
jb 0x1006739f
mov al, byte [esi + 0x8f]
test al, 1
jne 0x100674f5
jmp 0x10067493
mov eax, dword [0x1028574c]
xor edx, edx
div dword [0x10285750]
or eax, 0xaceba4b1
mov ecx, 0x3eb6e9a8
xor edx, edx
div ecx
sub eax, 0x36772d39
add eax, 0xbd747376
add eax, 0x36772d39
cmp eax, 0xff5c3727
ja 0x1006818c
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.100827d0
mov edi, eax
mov eax, dword [esi + 0x80]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, edi
sbb eax, edx
jl 0x100675af
jmp 0x100674f5
mov eax, dword [0x1028575c]
mov edi, dword [str.e3]
mov ebx, edi
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
mov ecx, eax
or ecx, ebx
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
mov ecx, 0xc35add7
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x27a8c1d8
xor eax, 0xffffffff
and ecx, 0xd8573e27
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
sub eax, 0x6cedee9d
cmp eax, 0xeedc536a
ja 0x100681a2
mov ecx, dword [0x10285764]
and ecx, dword [0x10285768]
sub ecx, 0xb9e7a9e2
mov eax, ecx
and eax, 0xe252828e
shl eax, 1
add ecx, 0xe252828e
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x7e28f706
and ecx, 0x81d708f9
or eax, ecx
xor eax, 0x54d4746a
cmp eax, 0xd0c1497d
jae 0x1006755b
xor eax, eax
mov ecx, eax
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], eax
jmp 0x10067651
mov ecx, dword [0x1028576c]
xor eax, eax
sub eax, dword [0x10285770]
sub ecx, eax
mov eax, ecx
and eax, 0xbf562bc3
xor ecx, 0xbf562bc3
or eax, ecx
mov ecx, 0x8e1c1762
xor edx, edx
div ecx
xor eax, 0xc252bcc0
cmp eax, 0xee500d8
jbe 0x100681a7
mov eax, dword [esi + 0x70]
mov ecx, dword [0x10285774]
mov edx, dword [0x10285778]
or ecx, edx
add ecx, 0x4f433184
and ecx, 0xf73fff4c
add ecx, 0x2c98c535
mov dword [esi + 0x58], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.100827d0
mov ecx, dword [esi + 0x80]
mov edi, eax
mov eax, dword [esi + 0x58]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
sub edi, ebx
mov dword [esi + 0x5c], edi
sbb edx, ecx
mov dword [esi + 0x60], edx
cmp eax, 0xc9cbad46
ja 0x100675e7
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], eax
jmp 0x10067651
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [0x1028577c]
mov ecx, dword [0x10285780]
or eax, ecx
mov ecx, 0x6840c37c
xor edx, edx
div ecx
and eax, 0x2053c0dc
mov edx, eax
and edx, 0x6b58ab9a
mov ecx, eax
or ecx, 0x6b58ab9a
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94a75465
or eax, 0x94a75465
imul eax, edx
add eax, ecx
mov dword [esi + 0xa8], 0xffffffff
cmp eax, 0x93b7928f
jae 0x100681bd
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x54]
mov dword [edx], ebx
mov dword [edx + 4], edi
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1004ca70
mov ecx, dword [esi + 0x7c]
call fcn.100499a0
mov byte [esi + 0x4f], al
mov eax, dword [0x1028578c]
or eax, dword [0x10285790]
add eax, 0x4eef48e9
mov ecx, 0xa99e0294
xor edx, edx
div ecx
xor eax, 0x320bdd38
cmp eax, 0x2496c86f
jbe 0x100681e3
mov al, byte [esi + 0x4f]
test al, 1
jne 0x10067724
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
or ecx, 4
mov dword [eax], ecx
jmp 0x10067fde
jmp 0x10067729
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1004c730
and eax, 0x1c0
cmp eax, 0x40
je 0x1006797b
jmp 0x1006774b
mov ecx, dword [esi + 0x78]
mov eax, dword [0x102857b4]
mov edx, dword [0x102857b8]
lea edx, [eax + edx - 0x26f47904]
mov eax, edx
xor eax, 0xafd75c88
and eax, edx
mov edx, eax
xor edx, 0x9ffec9b6
or eax, 0x60013649
and eax, edx
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
xor ecx, ecx
neg edi
sbb ecx, edx
setl cl
mov byte [esi + 0x4e], cl
cmp eax, 0x69e7e400
jae 0x100681e8
mov al, byte [esi + 0x4e]
test al, 1
jne 0x100677a4
jmp 0x1006792e
mov edx, dword [0x102857bc]
and edx, dword [0x102857c0]
xor edx, 0xffffffff
or edx, 0xa6d06525
mov eax, edx
xor eax, 0xffffffff
and edx, 0x99cc4992
mov ecx, eax
and ecx, 0x6633b66d
imul ecx, edx
mov edx, eax
and edx, 0x99cc4992
or eax, 0x99cc4992
imul eax, edx
add eax, ecx
mov edx, eax
and edx, 0x5f1cf79d
mov ecx, eax
or ecx, 0x5f1cf79d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa0e30862
or eax, 0xa0e30862
imul eax, edx
add eax, ecx
cmp eax, 0x29374fc1
jb 0x100681ed
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10049b90
mov ecx, eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x44], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10082f30
mov ecx, dword [esi + 0x44]
mov dword [esi + 0xa8], 1
movsx edx, al
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10082940
mov dword [esi + 0x48], eax
jmp 0x1006785f
mov eax, dword [0x102857cc]
imul eax, dword [0x102857d0]
xor eax, 0xcf99a728
mov ecx, 0xa2d445
xor edx, edx
div ecx
add eax, 0x59e1b57a
cmp eax, 0x4ac0cba3
jbe 0x1006821a
mov eax, dword [0x102857d4]
mov edx, dword [0x102857d8]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, 0xe1d15a5c
xor ecx, 0xffffffff
and ecx, 0x1e2ea5a3
or eax, ecx
xor eax, 0xffffffff
and eax, 0xc21e5e3e
add eax, 0x15e4d3c6
add eax, 0x6c2dadd1
sub eax, 0x15e4d3c6
mov dword [esi + 0x3c], eax
call fcn.100293a0
mov ecx, eax
mov eax, dword [esi + 0x48]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10029580
add esp, 8
mov cl, al
mov eax, dword [esi + 0x3c]
mov byte [esi + 0x43], cl
cmp eax, 0x59761542
jb 0x1006821a
mov al, byte [esi + 0x43]
test al, 1
jne 0x10067907
jmp 0x10067916
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
or ecx, 4
mov dword [eax], ecx
jmp 0x1006792e
mov eax, dword [esi + 0x78]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
add edx, 0xffffffff
adc ecx, 0xffffffff
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x1006774b
mov eax, dword [0x102857ec]
xor eax, dword [0x102857f0]
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
or ecx, 0xc974da9f
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x13559308
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xfb270c4c
xor ecx, 0xffffffff
or eax, 0xfb270c4c
and eax, ecx
cmp eax, 0x808c7f9e
jb 0x1006823b
mov eax, dword [0x102857fc]
xor ecx, ecx
sub ecx, dword [0x10285800]
sub eax, ecx
add eax, 0x16d58f10
sub eax, 0x5cb05c9a
mov edx, eax
and edx, 0x5c33101e
mov ecx, eax
or ecx, 0x5c33101e
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa3ccefe1
or eax, 0xa3ccefe1
imul eax, edx
add eax, ecx
cmp eax, 0xa77261ee
ja 0x10068240
mov ecx, dword [esi + 0x74]
mov edx, dword [0x10285804]
and edx, dword [0x10285808]
mov eax, edx
and eax, 0xa421f31a
or edx, 0xa421f31a
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
xor edx, edx
sub edx, eax
add edx, 0xe748da70
xor eax, eax
sub eax, edx
add eax, 0x9acaa66c
add eax, 0xa7d2ada3
sub eax, 0x9acaa66c
cmp dword [ecx], 0
sete cl
mov byte [esi + 0x3b], cl
cmp eax, 0x627e5505
jae 0x10068240
mov al, byte [esi + 0x3b]
test al, 1
jne 0x10067a2c
jmp 0x10067bc8
mov eax, dword [0x1028580c]
and eax, dword [0x10285810]
or eax, 0xc9436a61
or eax, 0xe42bd724
xor eax, 0x94aa2b81
cmp eax, 0xb29930be
ja 0x10068245
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10049b90
mov edx, dword [esi + 0x80]
mov ecx, eax
mov eax, dword [esi + 0x6c]
mov edi, dword [edx]
mov ebx, dword [edx + 4]
mov edx, dword [eax]
mov dword [esi + 0xa8], 1
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.10083080
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
jmp 0x10067a9b
mov edx, dword [esi + 0x30]
mov ebx, dword [esi + 0x80]
mov eax, dword [0x10285824]
mov ecx, dword [0x10285828]
imul eax, ecx
mov ecx, eax
and ecx, 0x6bf66f14
add ecx, ecx
neg ecx
lea eax, [eax + ecx - 0x140990ec]
mov edi, eax
not edi
mov ecx, eax
and ecx, 0x9ce234b2
and edi, 0x631dcb4d
imul edi, ecx
mov ecx, eax
and ecx, 0x631dcb4d
or eax, 0x631dcb4d
imul eax, ecx
mov ecx, dword [esi + 0x34]
lea eax, [eax + edi + 0xfd743f9]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
xor edx, ebx
xor ecx, edi
or ecx, edx
setne cl
mov byte [esi + 0x2f], cl
cmp eax, 0xf44e58f6
je 0x10068263
mov al, byte [esi + 0x2f]
test al, 1
jne 0x10067b20
jmp 0x10067bc8
mov eax, dword [0x1028582c]
mov ecx, dword [str.LU___bE]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x12b5675d
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0xe255ed1d
add ecx, eax
mov eax, ecx
or eax, 0xd292ad51
and ecx, 0xd292ad51
xor eax, 0xffffffff
or eax, ecx
cmp eax, 0xe83ae10d
jae 0x10068268
mov ecx, dword [esi + 0x74]
mov eax, dword [0x10285834]
xor edx, edx
div dword [0x10285838]
imul eax, eax, 0xec926064
and eax, 0x5d8b90bf
mov edi, eax
and edi, 0x33d7e565
mov edx, eax
or edx, 0x33d7e565
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xcc281a9a
or eax, 0xcc281a9a
imul eax, edi
add eax, edx
mov edx, dword [ecx]
or edx, 4
mov dword [ecx], edx
cmp eax, 0x837593c7
jae 0x10068268
jmp 0x10067bc8
mov eax, dword [0x1028583c]
xor ecx, ecx
sub ecx, dword [0x10285840]
sub eax, ecx
mov ecx, 0xee677828
xor edx, edx
div ecx
sub eax, 0x87f34ead
sub eax, 0x9ff42424
add eax, 0x87f34ead
xor eax, 0x4f7a7860
cmp eax, 0xf5ac606e
ja 0x10068277
mov ecx, dword [esi + 0x74]
mov edx, dword [0x10285844]
or edx, dword [0x10285848]
mov eax, edx
xor eax, 0xffffffff
and eax, 0xc2961750
and edx, 0x3d69e8af
or eax, edx
xor eax, 0xbff7c106
mov edx, eax
xor edx, 0xffffffff
and edx, 0x29a7999c
and eax, 0xd6586663
sub eax, edx
mov edx, eax
and edx, 0x20c1871a
shl edx, 1
xor eax, 0x20c1871a
add eax, edx
cmp dword [ecx], 0
sete cl
mov byte [esi + 0x2e], cl
cmp eax, 0x2f35186d
jb 0x10067bff
mov al, byte [esi + 0x2e]
test al, 1
jne 0x10067c6c
jmp 0x10067fb8
mov ecx, dword [0x1028584c]
mov edx, dword [0x10285850]
mov edi, ecx
xor edi, 0xffffffff
mov eax, edx
and eax, edi
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
add eax, 0xc2a33a60
add eax, 1
sub eax, 0xc09444d0
xor eax, 0x89d410a5
cmp eax, 0x8e084306
ja 0x1006827c
mov ecx, dword [0x1028585c]
imul ecx, dword [0x10285860]
add ecx, 0x26a68939
add ecx, 0x207433f8
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf6f4f5b4
and ecx, 0x90b0a4b
or eax, ecx
xor eax, 0x3c931336
cmp eax, 0x427ecf1b
je 0x10068281
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, 1
sbb eax, 0
jl 0x10067f8c
jmp 0x10067cf9
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10049b90
mov ecx, eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10082f30
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xa8], 1
movsx edx, al
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10082940
mov dword [esi + 0x28], eax
jmp 0x10067d8b
mov eax, dword [0x10285894]
xor eax, dword [0x10285898]
add eax, 0xc8a1064
mov ecx, 0xf9d201ad
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xab6c677f
or ecx, 0xab6c677f
add eax, ecx
cmp eax, 0xb692a9f2
jae 0x10068286
jmp 0x10067fde
mov ecx, dword [0x1028589c]
sub ecx, dword [0x102858a0]
mov edx, ecx
and edx, 0x1554b029
mov eax, ecx
or eax, 0x1554b029
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xeaab4fd6
or ecx, 0xeaab4fd6
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x725f1963
and ecx, 0x8da0e69c
or eax, ecx
mov edx, eax
and edx, 0x27133b83
mov ecx, eax
or ecx, 0x27133b83
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd8ecc47c
or eax, 0xd8ecc47c
imul eax, edx
add eax, ecx
cmp eax, 0xdc7d9bbe
ja 0x1006828b
mov ecx, dword [0x102858a4]
mov edi, dword [0x102858a8]
mov ebx, edi
xor ebx, 0xffffffff
mov edx, ecx
and edx, ebx
mov eax, ecx
or eax, ebx
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, edi
or ecx, edi
imul ecx, edx
add ecx, eax
add ecx, 0x6dcd8713
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x1be9a3d5
xor ecx, 0xffffffff
and ecx, 0x1be9a3d5
xor ecx, 0xffffffff
and eax, ecx
add eax, 0x481533db
add eax, 1
mov dword [esi + 0x1c], eax
call fcn.100293a0
mov ecx, eax
mov eax, dword [esi + 0x28]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10029580
add esp, 8
mov cl, al
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x23], cl
cmp eax, 0x750b3924
ja 0x1006828b
mov al, byte [esi + 0x23]
test al, 1
jne 0x10067e96
jmp 0x10067ee9
jmp 0x10067e9b
mov ecx, dword [esi + 0x74]
mov eax, dword [str._LhM]
xor edx, edx
div dword [0x102858b8]
sub eax, 0x7099064a
mov edi, 0x58ab9d17
xor edx, edx
div edi
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x8a876017
and edx, 0x75789fe8
or eax, edx
xor eax, 0xe607110b
mov edx, dword [ecx]
or edx, 4
mov dword [ecx], edx
cmp eax, 0xfb581707
jae 0x100682ac
jmp 0x10067f8c
mov ecx, dword [0x102858bc]
mov eax, dword [0x102858c0]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
add ecx, 0xdc88d0d9
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3ff9ce1e
and ecx, 0xc00631e1
or eax, ecx
xor eax, 0xea37b5d2
mov edx, eax
and edx, 0xce1b54e5
mov ecx, eax
or ecx, 0xce1b54e5
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x31e4ab1a
or eax, 0x31e4ab1a
imul eax, edx
add eax, ecx
cmp eax, 0xf9624206
ja 0x100682bb
mov ecx, dword [esi + 0x78]
mov eax, dword [0x102858c4]
mov edx, dword [0x102858c8]
xor eax, edx
xor eax, 0x7c9da624
imul eax, eax, 0xa8720993
add eax, 0xd094bb7d
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
add edi, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], edi
mov dword [ecx + 4], edx
cmp eax, 0x4bd8cc3f
jbe 0x100682bb
jmp 0x10067ca5
mov eax, dword [0x102858cc]
add eax, dword [0x102858d0]
mov ecx, 0x341c537d
xor edx, edx
div ecx
add eax, 0x46c4ebff
add eax, 1
add eax, 0xe2c87bcb
cmp eax, 0x88aa4e74
ja 0x100682ce
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0
call fcn.100830d0
jmp 0x10067d51
mov eax, dword [0x102858dc]
xor eax, dword [str.MEx]
mov ecx, eax
and ecx, 0xda1b7785
shl ecx, 1
add eax, 0xda1b7785
sub eax, ecx
xor eax, 0x32f34be
and eax, 0xd5fab065
cmp eax, 0x3e43d963
jb 0x100682d3
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x70]
mov eax, dword [0x102858e4]
xor eax, dword [0x102858e8]
or eax, 0xbc28a6dd
or eax, 0xd7b889b9
mov edi, eax
and edi, 0xf66b0982
xor edi, 0xffffffff
add eax, 0xf66b0982
add eax, 1
add eax, edi
mov edx, dword [edx]
mov edi, dword [edx]
add edx, dword [edi + 4]
mov dword [esi + 0x14], edx
mov ecx, dword [ecx]
mov dword [esi + 0x18], ecx
cmp eax, 0xb1b5a3b
jb 0x1006800f
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov dword [esi + 0xa8], 0
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], 0
call fcn.10037550
jmp 0x10068081
mov eax, dword [0x102858ec]
mov ecx, dword [0x102858f0]
and eax, ecx
or eax, 0xa10ed5b1
sub eax, 0xec2e7c08
xor eax, 0xcda2ac5b
cmp eax, 0x92143122
ja 0x100682d8
mov ecx, dword [esi + 0x7c]
mov eax, dword [str.ie_k__]
mov ebx, dword [0x102858f8]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc1bdd484
and eax, 0x3e422b7b
mov edi, ebx
xor edi, 0xffffffff
and edi, 0xc1bdd484
and ebx, 0x3e422b7b
or edx, eax
mov eax, dword [esi + 0x70]
or edi, ebx
xor edx, edi
add edx, 0x78ca99c5
add edx, 1
and edx, 0xf4880f34
imul edx, edx, 0x61c72a75
mov dword [esi + 0x10], edx
mov eax, dword [eax]
mov dword [esi + 0xc], eax
call fcn.1004cee0
mov eax, dword [esi + 0x10]
cmp eax, 0x6afb90da
jae 0x100682d8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xa0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esi + 0x90]
push eax
mov eax, esp
push eax
mov edx, esp
mov ecx, edx
mov dword [esi + 8], ecx
push eax
mov ecx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 4], edi
mov esp, edi
mov edi, dword [esi + 0x94]
mov dword [eax], ebx
mov dword [edx], edi
mov dword [ecx], 0
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.100303b0
mov ecx, dword [esi + 4]
add esp, 4
mov edx, eax
mov eax, dword [esi + 8]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.100827d0
jmp 0x1006739f
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.100827d0
jmp 0x100674c8
jmp 0x1006755b
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.100827d0
jmp 0x100675e7
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x54]
mov dword [edx], ebx
mov dword [edx + 4], edi
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1004ca70
jmp 0x100676b5
jmp 0x1006770a
jmp 0x1006774b
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049b90
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10082f30
mov dword [esi + 0xa8], 1
jmp 0x10067814
call fcn.100293a0
mov ecx, eax
mov eax, dword [esi + 0x48]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10029580
add esp, 8
jmp 0x10067889
jmp 0x1006797b
jmp 0x100679c7
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049b90
mov dword [esi + 0xa8], 1
jmp 0x10067a51
jmp 0x10067a9b
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
or ecx, 4
mov dword [eax], ecx
jmp 0x10067b6e
jmp 0x10067bff
jmp 0x10067ca5
jmp 0x10067ce0
jmp 0x10067d51
call fcn.100293a0
mov ecx, eax
mov eax, dword [esi + 0x28]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10029580
add esp, 8
jmp 0x10067e04
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
or ecx, 4
mov dword [eax], ecx
jmp 0x10067e9b
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
add ecx, 0xffffffff
adc dword [eax + 4], 0xffffffff
mov dword [eax], ecx
jmp 0x10067f4c
jmp 0x10067fb8
jmp 0x1006800f
mov ecx, dword [esi + 0x7c]
call fcn.1004cee0
jmp 0x100680a8