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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x108
mov esi, esp
mov eax, dword [0x100c51b8]
xor eax, ebp
mov dword [esi + 0x100], eax
lea eax, [ebp + 8]
mov dword [esi + 0x5c], eax
lea eax, [ebp + 0x20]
mov dword [esi + 0x4c], eax
lea eax, [ebp + 0x24]
mov dword [esi + 0x7c], eax
lea ebx, [esi + 0xe8]
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0x5c]
xor edi, edi
mov dword [ebx], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
mov ecx, ebx
push eax
call fcn.10007eb6
lea ecx, [esi + 0xc8]
mov dword [esi + 0x64], ecx
mov eax, dword [esi + 0x64]
mov dword [ecx], edi
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
lea ecx, [esi + 0xd0]
mov dword [ecx], edi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edi
push ebx
call fcn.10007eb6
mov byte [esi + 0x3a], 1
mov eax, 0x35465dc0
mov dword [esi + 0x44], ecx
cmp eax, 0xf93683f7
jg 0x10013018
cmp eax, 0xa566f8b3
jle 0x10013079
cmp eax, 0xea6ea5b8
jg 0x10013458
cmp eax, 0xa566f8b4
je 0x10013956
cmp eax, 0xa9b04d47
je 0x1001397c
cmp eax, 0xdf841d69
jne 0x10012fc9
lea ecx, [esi + 0xb0]
call fcn.100087f0
mov eax, dword [esi + 0x78]
mov eax, 0x2f169365
jmp 0x10012fc9
cmp eax, 0x4b987119
jle 0x100130b2
cmp eax, 0x72c7750f
jle 0x1001388a
cmp eax, 0x72c77510
je 0x10013994
cmp eax, 0x757d9adb
je 0x100139b8
cmp eax, 0x77a05325
jne 0x10012fc9
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
lea eax, [eax + ecx*8]
push dword [esi + 0x84]
push dword [esi + 0x80]
push eax
call fcn.1001236c
add esp, 0xc
mov eax, 0x962efcf6
jmp 0x10012fc9
cmp eax, 0x93d1181a
jle 0x100138b8
cmp eax, 0x93d1181b
je 0x1001393f
cmp eax, 0x94da8583
je 0x10013da9
cmp eax, 0x962efcf6
jne 0x10012fc9
mov eax, dword [esi + 0x74]
mov eax, 0x2f169365
jmp 0x10012fc9
cmp eax, 0x2f169364
jle 0x100138e6
cmp eax, 0x2f169365
je 0x1001421f
cmp eax, 0x35465dc0
je 0x10014236
cmp eax, 0x3dcb0b49
jne 0x10012fc9
lea eax, [esi + 0x80]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], eax
mov eax, 0x3841825f
mov dword [esi + 0x1c], ecx
cmp eax, 0xd0f1e057
jle 0x1001316a
cmp eax, 0x24525e74
jg 0x100131b0
cmp eax, 0xe491f2
jg 0x10013275
cmp eax, 0xd0f1e058
je 0x1001333f
cmp eax, 0xd2ef6aef
jne 0x10013100
mov eax, dword [esi + 0x28]
movzx edx, byte [esi + 0x34]
and edx, 0x7f
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or dword [esi + 0x80], edx
or dword [esi + 0x84], eax
mov eax, 0xc3ff0181
jmp 0x10013100
cmp eax, 0xa8f12ead
jle 0x10013247
cmp eax, 0xc00e5bca
jg 0x100132a9
cmp eax, 0xa8f12eae
je 0x10013352
cmp eax, 0xaf2dbaeb
jne 0x10013100
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
sub ecx, dword [eax]
cmp ecx, 0xa
mov eax, 0x548f7e2
mov ecx, 0xe491f3
jmp 0x1001332b
cmp eax, 0x5e8adfa5
jg 0x100132dc
cmp eax, 0x24525e75
je 0x10013382
cmp eax, 0x3841825f
jne 0x10013100
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0x98], eax
mov dword [esi + 0xa8], ecx
mov ecx, 0x4878685b
cmp ecx, 0x4878685a
jg 0x1001320f
cmp ecx, 0x2b1753ca
je 0x1001323e
cmp ecx, 0x4166a3a3
jne 0x100131ee
mov ecx, 0x76761d35
xor eax, eax
jmp 0x100131ee
cmp ecx, 0x76761d35
je 0x10013391
cmp ecx, 0x4878685b
jne 0x100131ee
mov ecx, dword [esi + 0x98]
cmp ecx, dword [esi + 0xa8]
mov ecx, 0x2b1753ca
mov edx, 0x4166a3a3
cmovb ecx, edx
jmp 0x100131ee
mov al, 1
mov ecx, 0x76761d35
jmp 0x100131ee
cmp eax, 0x9aabf6fb
jg 0x10013301
cmp eax, 0x8085e4c3
je 0x100133a5
cmp eax, 0x91bde73c
jne 0x10013100
mov eax, 0x9aabf6fc
mov dword [esi + 0x2c], ebx
jmp 0x10013100
cmp eax, 0xe491f3
je 0x100133d0
cmp eax, 0x548f7e2
jne 0x10013100
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
test byte [esi + 6], 1
mov eax, 0x24525e75
mov ecx, 0x79c4acca
cmove eax, ecx
jmp 0x10013100
cmp eax, 0xc00e5bcb
je 0x10013411
cmp eax, 0xc3ff0181
jne 0x10013100
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 8], eax
cmp byte [esi + 0x34], 0
mov eax, 0x5e8adfa6
mov ecx, 0xd0f1e058
cmovns eax, ecx
jmp 0x10013100
cmp eax, 0x5e8adfa6
je 0x10013422
cmp eax, 0x79c4acca
jne 0x10013100
mov ebx, 0x102
mov eax, 0x91bde73c
jmp 0x10013100
cmp eax, 0xa5995416
jne 0x10013434
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x14], al
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 0xcc]
mov eax, 0x548f7e2
mov ecx, 0xaf2dbaeb
cmovb eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x20], ecx
mov cl, byte [esi + 0x14]
mov byte [esi + 6], cl
jmp 0x10013100
mov edi, 3
mov byte [esi + 7], 1
mov eax, 0x8085e4c3
jmp 0x10013100
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x80], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, 0xa5995416
jmp 0x10013100
mov ebx, 0x100
mov eax, 0x91bde73c
jmp 0x10013100
test al, 1
mov eax, 0xa8f12eae
mov ecx, 0xc00e5bcb
cmovne eax, ecx
jmp 0x10013100
test edi, edi
mov eax, 0x548f7e2
mov ecx, 0xa5995416
cmove eax, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x30], ecx
mov cl, byte [esi + 7]
mov edx, ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 6], cl
jmp 0x10013100
mov dword [esi + 0x40], ebx
mov ebx, edi
mov edi, dword [esi + 0xc]
lea ecx, [esi + 0xd0]
call fcn.10007c1e
mov al, byte [eax + edi]
mov edi, ebx
mov ebx, dword [esi + 0x40]
mov byte [esi + 0x34], al
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
sub ecx, dword [eax]
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 0x28]
cmp eax, 0xa
mov eax, 0xc3ff0181
mov ecx, 0xd2ef6aef
cmovb eax, ecx
jmp 0x10013100
mov dword [esi + 0x2c], 0x101
mov eax, 0x9aabf6fc
jmp 0x10013100
xor edi, edi
mov eax, 0x8085e4c3
mov cl, byte [esi + 0x14]
mov byte [esi + 7], cl
jmp 0x10013100
cmp eax, 0x9aabf6fc
jne 0x10013100
cmp dword [esi + 0x2c], 0x100
mov eax, 0x962efcf6
mov ecx, 0x77a05325
cmove eax, ecx
jmp 0x10012fc9
cmp eax, 0xea6ea5b9
je 0x1001393f
cmp eax, 0xf3d752c9
je 0x100142b2
cmp eax, 0xf7dca596
jne 0x10012fc9
lea eax, [esi + 0xb0]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x78]
xor ecx, ecx
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], 0xf
mov byte [esi + 0xb0], 0
lea eax, [esi + 0xa4]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xa4], ecx
lea eax, [esi + 0xa8]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], ecx
mov eax, 0x3841825f
mov dword [esi + 0x1c], ecx
cmp eax, 0xd0f1e057
jle 0x10013540
cmp eax, 0x24525e74
jg 0x10013586
cmp eax, 0xe491f2
jg 0x10013645
cmp eax, 0xd0f1e058
je 0x1001370f
cmp eax, 0xd2ef6aef
jne 0x100134d6
mov eax, dword [esi + 0x18]
movzx edx, byte [esi + 0x3b]
and edx, 0x7f
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or dword [esi + 0xa8], edx
or dword [esi + 0xac], eax
mov eax, 0xc3ff0181
jmp 0x100134d6
cmp eax, 0xa8f12ead
jle 0x10013617
cmp eax, 0xc00e5bca
jg 0x10013679
cmp eax, 0xa8f12eae
je 0x10013722
cmp eax, 0xaf2dbaeb
jne 0x100134d6
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
cmp ecx, 0xa
mov eax, 0x548f7e2
mov ecx, 0xe491f3
jmp 0x100136fb
cmp eax, 0x5e8adfa5
jg 0x100136ac
cmp eax, 0x24525e75
je 0x10013752
cmp eax, 0x3841825f
jne 0x100134d6
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xc], eax
mov dword [esi + 0x98], ecx
mov ecx, 0x4878685b
cmp ecx, 0x4878685a
jg 0x100135e2
cmp ecx, 0x2b1753ca
je 0x1001360e
cmp ecx, 0x4166a3a3
jne 0x100135c1
mov ecx, 0x76761d35
xor eax, eax
jmp 0x100135c1
cmp ecx, 0x76761d35
je 0x10013761
cmp ecx, 0x4878685b
jne 0x100135c1
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 0x98]
mov ecx, 0x2b1753ca
mov edx, 0x4166a3a3
cmovb ecx, edx
jmp 0x100135c1
mov al, 1
mov ecx, 0x76761d35
jmp 0x100135c1
cmp eax, 0x9aabf6fb
jg 0x100136d1
cmp eax, 0x8085e4c3
je 0x10013775
cmp eax, 0x91bde73c
jne 0x100134d6
mov eax, 0x9aabf6fc
mov dword [esi + 0x2c], ebx
jmp 0x100134d6
cmp eax, 0xe491f3
je 0x100137a0
cmp eax, 0x548f7e2
jne 0x100134d6
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
test byte [esi + 6], 1
mov eax, 0x24525e75
mov ecx, 0x79c4acca
cmove eax, ecx
jmp 0x100134d6
cmp eax, 0xc00e5bcb
je 0x100137e1
cmp eax, 0xc3ff0181
jne 0x100134d6
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x28], eax
cmp byte [esi + 0x3b], 0
mov eax, 0x5e8adfa6
mov ecx, 0xd0f1e058
cmovns eax, ecx
jmp 0x100134d6
cmp eax, 0x5e8adfa6
je 0x100137f2
cmp eax, 0x79c4acca
jne 0x100134d6
mov ebx, 0x102
mov eax, 0x91bde73c
jmp 0x100134d6
cmp eax, 0xa5995416
jne 0x10013804
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x27], al
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xcc]
mov eax, 0x548f7e2
mov ecx, 0xaf2dbaeb
cmovb eax, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x20], ecx
mov cl, byte [esi + 0x27]
mov byte [esi + 6], cl
jmp 0x100134d6
mov edi, 3
mov byte [esi + 7], 1
mov eax, 0x8085e4c3
jmp 0x100134d6
xor eax, eax
mov dword [esi + 0xac], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0xa8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, 0xa5995416
jmp 0x100134d6
mov ebx, 0x100
mov eax, 0x91bde73c
jmp 0x100134d6
test al, 1
mov eax, 0xa8f12eae
mov ecx, 0xc00e5bcb
cmovne eax, ecx
jmp 0x100134d6
test edi, edi
mov eax, 0x548f7e2
mov ecx, 0xa5995416
cmove eax, ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x30], ecx
mov cl, byte [esi + 7]
mov edx, ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 6], cl
jmp 0x100134d6
mov dword [esi + 0x40], ebx
mov ebx, edi
mov edi, dword [esi + 8]
lea ecx, [esi + 0xd0]
call fcn.10007c1e
mov al, byte [eax + edi]
mov edi, ebx
mov ebx, dword [esi + 0x40]
mov byte [esi + 0x3b], al
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
mov dword [esi + 0x18], ecx
mov eax, dword [esi + 0x18]
cmp eax, 0xa
mov eax, 0xc3ff0181
mov ecx, 0xd2ef6aef
cmovb eax, ecx
jmp 0x100134d6
mov dword [esi + 0x2c], 0x101
mov eax, 0x9aabf6fc
jmp 0x100134d6
xor edi, edi
mov eax, 0x8085e4c3
mov cl, byte [esi + 0x27]
mov byte [esi + 7], cl
jmp 0x100134d6
cmp eax, 0x9aabf6fc
jne 0x100134d6
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0xa8]
mov edx, 0x4ad9216d
cmp edx, 0x4ad9216c
jg 0x10013840
cmp edx, 0xa98cc28
je 0x1001386b
cmp edx, 0x136fe1bb
jne 0x10013823
jmp 0x100142d4
cmp edx, 0x617f0c93
je 0x1001387d
cmp edx, 0x4ad9216d
jne 0x10013823
mov edx, dword [esi + 0x98]
cmp edx, 0x100
mov edx, 0x617f0c93
mov edi, 0xa98cc28
cmove edx, edi
jmp 0x10013823
mov dword [esi + 0xa4], eax
mov edx, 0x136fe1bb
mov ecx, 0x100
jmp 0x10013823
mov edx, 0x136fe1bb
mov ecx, dword [esi + 0x98]
jmp 0x10013823
cmp eax, 0x4b98711a
je 0x10014343
cmp eax, 0x64ca134f
jne 0x10014557
mov eax, dword [esi + 0x54]
cmp eax, 2
mov eax, 0xa9b04d47
mov ecx, 0xf7dca596
cmove eax, ecx
jmp 0x10012fc9
cmp eax, 0x8869786f
je 0x10014359
cmp eax, 0x8bdb518b
jne 0x10012fc9
mov eax, dword [esi + 0x54]
cmp eax, 1
mov eax, 0x64ca134f
mov ecx, 0x3dcb0b49
cmove eax, ecx
jmp 0x10012fc9
cmp eax, 0xf93683f8
je 0x1001437c
cmp eax, 0x7e0a6ef
jne 0x10012fc9
mov edi, esp
push eax
sub esp, 0x18
mov ebx, esp
lea ecx, [ebx + 4]
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
lea eax, [esi + 0xb0]
push eax
call fcn.10007eb6
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
lea eax, [eax + ecx*8]
mov dword [ebx], eax
call fcn.10011fc0
add esp, 0x1c
mov eax, 0xdf841d69
mov esp, edi
jmp 0x10012fc9
mov dword [esi + 0x48], 3
mov eax, 0xf3d752c9
mov cl, byte [esi + 0x13]
mov byte [esi + 0x26], cl
jmp 0x10012fc9
mov eax, dword [esi + 0x6c]
dec eax
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x54], eax
cmp dword [esi + 0x54], 0
mov eax, 0x8bdb518b
mov ecx, 0x757d9adb
cmove eax, ecx
jmp 0x10012fc9
mov dword [esi + 0x58], 3
mov eax, 0x4b98711a
mov dword [esi + 0x44], 0
jmp 0x10012fc9
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
lea eax, [eax + ecx*8]
push dword [esi + 0x8c]
push eax
call fcn.10012267
add esp, 8
mov eax, 0xf93683f8
jmp 0x10012fc9
lea eax, [esi + 0x8c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
xor ecx, ecx
mov dword [esi + 0x8c], ecx
lea eax, [esi + 0xa8]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], ecx
mov eax, 0x3841825f
mov dword [esi + 0x1c], ecx
cmp eax, 0xd0f1e057
jle 0x10013a59
cmp eax, 0x24525e74
jg 0x10013a9f
cmp eax, 0xe491f2
jg 0x10013b5e
cmp eax, 0xd0f1e058
je 0x10013c2b
cmp eax, 0xd2ef6aef
jne 0x100139ec
mov eax, dword [esi + 0x18]
movzx edx, byte [esi + 0xa4]
and edx, 0x7f
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or dword [esi + 0xa8], edx
or dword [esi + 0xac], eax
mov eax, 0xc3ff0181
jmp 0x100139ec
cmp eax, 0xa8f12ead
jle 0x10013b30
cmp eax, 0xc00e5bca
jg 0x10013b92
cmp eax, 0xa8f12eae
je 0x10013c3e
cmp eax, 0xaf2dbaeb
jne 0x100139ec
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
cmp ecx, 0xa
mov eax, 0x548f7e2
mov ecx, 0xe491f3
jmp 0x10013c17
cmp eax, 0x5e8adfa5
jg 0x10013bc8
cmp eax, 0x24525e75
je 0x10013c6e
cmp eax, 0x3841825f
jne 0x100139ec
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xc], eax
mov dword [esi + 0x98], ecx
mov ecx, 0x4878685b
cmp ecx, 0x4878685a
jg 0x10013afb
cmp ecx, 0x2b1753ca
je 0x10013b27
cmp ecx, 0x4166a3a3
jne 0x10013ada
mov ecx, 0x76761d35
xor eax, eax
jmp 0x10013ada
cmp ecx, 0x76761d35
je 0x10013c7d
cmp ecx, 0x4878685b
jne 0x10013ada
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 0x98]
mov ecx, 0x2b1753ca
mov edx, 0x4166a3a3
cmovb ecx, edx
jmp 0x10013ada
mov al, 1
mov ecx, 0x76761d35
jmp 0x10013ada
cmp eax, 0x9aabf6fb
jg 0x10013bed
cmp eax, 0x8085e4c3
je 0x10013c91
cmp eax, 0x91bde73c
jne 0x100139ec
mov eax, 0x9aabf6fc
mov dword [esi + 0x2c], ebx
jmp 0x100139ec
cmp eax, 0xe491f3
je 0x10013cbc
cmp eax, 0x548f7e2
jne 0x100139ec
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
test byte [esi + 6], 1
mov eax, 0x24525e75
mov ecx, 0x79c4acca
cmove eax, ecx
jmp 0x100139ec
cmp eax, 0xc00e5bcb
je 0x10013d00
cmp eax, 0xc3ff0181
jne 0x100139ec
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x28], eax
cmp byte [esi + 0xa4], 0
mov eax, 0x5e8adfa6
mov ecx, 0xd0f1e058
cmovns eax, ecx
jmp 0x100139ec
cmp eax, 0x5e8adfa6
je 0x10013d11
cmp eax, 0x79c4acca
jne 0x100139ec
mov ebx, 0x102
mov eax, 0x91bde73c
jmp 0x100139ec
cmp eax, 0xa5995416
jne 0x10013d23
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x3c], al
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xcc]
mov eax, 0x548f7e2
mov ecx, 0xaf2dbaeb
cmovb eax, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x20], ecx
mov cl, byte [esi + 0x3c]
mov byte [esi + 6], cl
jmp 0x100139ec
mov edi, 3
mov byte [esi + 7], 1
mov eax, 0x8085e4c3
jmp 0x100139ec
xor eax, eax
mov dword [esi + 0xac], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0xa8], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, 0xa5995416
jmp 0x100139ec
mov ebx, 0x100
mov eax, 0x91bde73c
jmp 0x100139ec
test al, 1
mov eax, 0xa8f12eae
mov ecx, 0xc00e5bcb
cmovne eax, ecx
jmp 0x100139ec
test edi, edi
mov eax, 0x548f7e2
mov ecx, 0xa5995416
cmove eax, ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x30], ecx
mov cl, byte [esi + 7]
mov edx, ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 6], cl
jmp 0x100139ec
mov dword [esi + 0x40], ebx
mov ebx, edi
mov edi, dword [esi + 8]
lea ecx, [esi + 0xd0]
call fcn.10007c1e
mov al, byte [eax + edi]
mov edi, ebx
mov ebx, dword [esi + 0x40]
mov byte [esi + 0xa4], al
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
mov dword [esi + 0x18], ecx
mov eax, dword [esi + 0x18]
cmp eax, 0xa
mov eax, 0xc3ff0181
mov ecx, 0xd2ef6aef
cmovb eax, ecx
jmp 0x100139ec
mov dword [esi + 0x2c], 0x101
mov eax, 0x9aabf6fc
jmp 0x100139ec
xor edi, edi
mov eax, 0x8085e4c3
mov cl, byte [esi + 0x3c]
mov byte [esi + 7], cl
jmp 0x100139ec
cmp eax, 0x9aabf6fc
jne 0x100139ec
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0xa8]
mov edx, 0x4ad9216d
cmp edx, 0x4ad9216c
jg 0x10013d5f
cmp edx, 0xa98cc28
je 0x10013d8a
cmp edx, 0x136fe1bb
jne 0x10013d42
jmp 0x10014389
cmp edx, 0x617f0c93
je 0x10013d9c
cmp edx, 0x4ad9216d
jne 0x10013d42
mov edx, dword [esi + 0x98]
cmp edx, 0x100
mov edx, 0x617f0c93
mov edi, 0xa98cc28
cmove edx, edi
jmp 0x10013d42
mov dword [esi + 0x8c], eax
mov edx, 0x136fe1bb
mov ecx, 0x100
jmp 0x10013d42
mov edx, 0x136fe1bb
mov ecx, dword [esi + 0x98]
jmp 0x10013d42
lea eax, [esi + 0x90]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
lea eax, [esi + 0x98]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
xor eax, eax
mov dword [esi + 0x9c], eax
mov dword [esi + 0x98], eax
mov eax, 0x3841825f
mov dword [esi + 0x1c], ecx
cmp eax, 0xd0f1e057
jle 0x10013e44
cmp eax, 0x24525e74
jg 0x10013e8a
cmp eax, 0xe491f2
jg 0x10013f49
cmp eax, 0xd0f1e058
je 0x10014016
cmp eax, 0xd2ef6aef
jne 0x10013dd7
mov eax, dword [esi + 0x18]
movzx edx, byte [esi + 0xa4]
and edx, 0x7f
lea ecx, [eax*8]
sub ecx, eax
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
cmovne eax, edx
mov ecx, 0
cmovne edx, ecx
or dword [esi + 0x98], edx
or dword [esi + 0x9c], eax
mov eax, 0xc3ff0181
jmp 0x10013dd7
cmp eax, 0xa8f12ead
jle 0x10013f1b
cmp eax, 0xc00e5bca
jg 0x10013f7d
cmp eax, 0xa8f12eae
je 0x10014029
cmp eax, 0xaf2dbaeb
jne 0x10013dd7
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
cmp ecx, 0xa
mov eax, 0x548f7e2
mov ecx, 0xe491f3
jmp 0x10014002
cmp eax, 0x5e8adfa5
jg 0x10013fb3
cmp eax, 0x24525e75
je 0x10014059
cmp eax, 0x3841825f
jne 0x10013dd7
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xc], eax
mov dword [esi + 0xa8], ecx
mov ecx, 0x4878685b
cmp ecx, 0x4878685a
jg 0x10013ee6
cmp ecx, 0x2b1753ca
je 0x10013f12
cmp ecx, 0x4166a3a3
jne 0x10013ec5
mov ecx, 0x76761d35
xor eax, eax
jmp 0x10013ec5
cmp ecx, 0x76761d35
je 0x10014068
cmp ecx, 0x4878685b
jne 0x10013ec5
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 0xa8]
mov ecx, 0x2b1753ca
mov edx, 0x4166a3a3
cmovb ecx, edx
jmp 0x10013ec5
mov al, 1
mov ecx, 0x76761d35
jmp 0x10013ec5
cmp eax, 0x9aabf6fb
jg 0x10013fd8
cmp eax, 0x8085e4c3
je 0x1001407c
cmp eax, 0x91bde73c
jne 0x10013dd7
mov eax, 0x9aabf6fc
mov dword [esi + 0x2c], ebx
jmp 0x10013dd7
cmp eax, 0xe491f3
je 0x100140a7
cmp eax, 0x548f7e2
jne 0x10013dd7
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
test byte [esi + 6], 1
mov eax, 0x24525e75
mov ecx, 0x79c4acca
cmove eax, ecx
jmp 0x10013dd7
cmp eax, 0xc00e5bcb
je 0x100140eb
cmp eax, 0xc3ff0181
jne 0x10013dd7
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x28], eax
cmp byte [esi + 0xa4], 0
mov eax, 0x5e8adfa6
mov ecx, 0xd0f1e058
cmovns eax, ecx
jmp 0x10013dd7
cmp eax, 0x5e8adfa6
je 0x100140fc
cmp eax, 0x79c4acca
jne 0x10013dd7
mov ebx, 0x102
mov eax, 0x91bde73c
jmp 0x10013dd7
cmp eax, 0xa5995416
jne 0x1001410e
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x3c], al
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xcc]
mov eax, 0x548f7e2
mov ecx, 0xaf2dbaeb
cmovb eax, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x20], ecx
mov cl, byte [esi + 0x3c]
mov byte [esi + 6], cl
jmp 0x10013dd7
mov edi, 3
mov byte [esi + 7], 1
mov eax, 0x8085e4c3
jmp 0x10013dd7
xor eax, eax
mov dword [esi + 0x9c], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x98], eax
lea eax, [esi + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, 0xa5995416
jmp 0x10013dd7
mov ebx, 0x100
mov eax, 0x91bde73c
jmp 0x10013dd7
test al, 1
mov eax, 0xa8f12eae
mov ecx, 0xc00e5bcb
cmovne eax, ecx
jmp 0x10013dd7
test edi, edi
mov eax, 0x548f7e2
mov ecx, 0xa5995416
cmove eax, ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x30], ecx
mov cl, byte [esi + 7]
mov edx, ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 6], cl
jmp 0x10013dd7
mov dword [esi + 0x40], ebx
mov ebx, edi
mov edi, dword [esi + 8]
lea ecx, [esi + 0xd0]
call fcn.10007c1e
mov al, byte [eax + edi]
mov edi, ebx
mov ebx, dword [esi + 0x40]
mov byte [esi + 0xa4], al
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
mov dword [esi + 0x18], ecx
mov eax, dword [esi + 0x18]
cmp eax, 0xa
mov eax, 0xc3ff0181
mov ecx, 0xd2ef6aef
cmovb eax, ecx
jmp 0x10013dd7
mov dword [esi + 0x2c], 0x101
mov eax, 0x9aabf6fc
jmp 0x10013dd7
xor edi, edi
mov eax, 0x8085e4c3
mov cl, byte [esi + 0x3c]
mov byte [esi + 7], cl
jmp 0x10013dd7
cmp eax, 0x9aabf6fc
jne 0x10013dd7
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
shld ecx, eax, 0x1d
and eax, 7
mov edi, 0x90a6a175
cmp edi, 0xff188b1c
jle 0x1001415c
cmp edi, 0x47045b43
jg 0x1001418d
cmp edi, 0xff188b1d
je 0x100141ae
cmp edi, 0x2a3723ea
jne 0x10014137
jmp 0x100143a4
cmp edi, 0x90a6a175
je 0x100141bb
cmp edi, 0xd0fc0048
je 0x100141d6
cmp edi, 0xd399e327
jne 0x10014137
mov edi, dword [esi + 0xa8]
mov ebx, dword [esi + 0xac]
mov dword [esi + 0x90], edi
mov edi, 0x47045b44
jmp 0x10014137
cmp edi, 0x47045b44
je 0x1001420a
cmp edi, 0x77ff3667
jne 0x10014137
mov dword [esi + 0x90], 0xf
mov edi, 0x47045b44
jmp 0x10014137
mov edi, 0x2a3723ea
mov edx, dword [esi + 0xc]
jmp 0x10014137
mov edi, dword [esi + 0xc]
cmp edi, 0x100
mov edi, 0xff188b1d
mov ebx, 0xd0fc0048
cmove edi, ebx
jmp 0x10014137
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], 0
mov edi, dword [esi + 0xac]
mov ebx, dword [esi + 0xa8]
cmp ebx, 6
sbb edi, 0
mov edi, 0x77ff3667
mov ebx, 0xd399e327
cmovb edi, ebx
jmp 0x10014137
mov dword [esi + 0x94], ecx
mov edi, 0x2a3723ea
mov edx, 0x100
jmp 0x10014137
mov dword [esi + 0x58], 0
mov eax, 0x4b98711a
mov cl, byte [esi + 0x13]
mov dword [esi + 0x44], ecx
jmp 0x10012fc9
mov al, byte [esi + 0x3a]
mov byte [esi + 0x13], al
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0x98], eax
mov dword [esi + 0xa8], ecx
mov ecx, 0x4878685b
cmp ecx, 0x4878685a
jg 0x1001427a
cmp ecx, 0x2b1753ca
je 0x100142a9
cmp ecx, 0x4166a3a3
jne 0x10014259
mov ecx, 0x76761d35
xor eax, eax
jmp 0x10014259
cmp ecx, 0x76761d35
je 0x100143bf
cmp ecx, 0x4878685b
jne 0x10014259
mov ecx, dword [esi + 0x98]
cmp ecx, dword [esi + 0xa8]
mov ecx, 0x2b1753ca
mov edx, 0x4166a3a3
cmovb ecx, edx
jmp 0x10014259
mov al, 1
mov ecx, 0x76761d35
jmp 0x10014259
mov eax, dword [esi + 0x68]
cmp dword [esi + 0x48], 0
mov eax, 0x4f2649f5
mov ecx, 0x35465dc0
cmove eax, ecx
mov cl, byte [esi + 0x26]
mov byte [esi + 0x3a], cl
mov byte [esi + 0x39], cl
jmp 0x10012fc9
mov eax, dword [esi + 0x34]
mov dword [esi + 0xa8], ecx
mov ecx, 0x78ac686
cmp ecx, 0x489e6718
jg 0x10014315
cmp ecx, 0xbad5b9fd
je 0x1001432a
cmp ecx, 0x78ac686
jne 0x100142e2
mov ecx, dword [esi + 0xa8]
cmp ecx, 0x100
mov ecx, 0xbad5b9fd
mov edx, 0x489e6719
cmove ecx, edx
jmp 0x100142e2
cmp ecx, 0x489e6719
je 0x10014337
cmp ecx, 0x554a1b29
jne 0x100142e2
jmp 0x100143d9
mov ecx, 0x554a1b29
mov eax, dword [esi + 0xa8]
jmp 0x100142e2
mov ecx, 0x554a1b29
mov eax, 0x100
jmp 0x100142e2
mov eax, 0xf3d752c9
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x44]
mov byte [esi + 0x26], cl
jmp 0x10012fc9
mov eax, dword [esi + 0x94]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x6c]
cmp ecx, dword [eax]
mov eax, 0xa566f8b4
mov ecx, 0xea6ea5b9
cmova eax, ecx
jmp 0x10012fc9
mov eax, dword [esi + 0x70]
mov eax, 0x2f169365
jmp 0x10012fc9
mov eax, dword [esi + 0x34]
cmp ecx, 0x100
mov eax, 0xf93683f8
mov ecx, 0x72c77510
cmove eax, ecx
jmp 0x10012fc9
mov eax, dword [esi + 0x34]
cmp edx, 0x100
mov eax, 0x93d1181b
mov ecx, 0x8869786f
cmove eax, ecx
jmp 0x10012fc9
test al, 1
mov eax, 0x94da8583
mov ecx, 0x4f2649f5
cmovne eax, ecx
mov cl, byte [esi + 0x13]
mov byte [esi + 0x39], cl
jmp 0x10012fc9
mov dword [esi + 0x18], eax
mov eax, 0x2a8cba5a
cmp eax, 0x317d14be
jg 0x10014418
cmp eax, 0xb2546236
je 0x1001453c
cmp eax, 0xe24c1940
je 0x10014441
cmp eax, 0x2a8cba5a
jne 0x100143e1
mov eax, dword [esi + 0x18]
cmp eax, 0x100
mov eax, 0x317d14bf
mov ecx, 0xe24c1940
cmove eax, ecx
jmp 0x100143e1
cmp eax, 0x317d14bf
je 0x10014505
cmp eax, 0x661f4ca7
je 0x10014512
cmp eax, 0x7ba64831
jne 0x100143e1
mov eax, 0xb2546236
mov edi, 0x100
jmp 0x100143e1
lea ecx, [esi + 0xb0]
push 0
push 0x100be687
call fcn.10007b00
mov ebx, dword [esi + 0xa4]
lea eax, [esi + 0xc8]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, ebx
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xa8], eax
mov ecx, 0xb5bb403a
cmp ecx, 0xb7f3a41f
jg 0x100144b9
cmp ecx, 0x8543a78e
je 0x100144cb
cmp ecx, 0xb5bb403a
jne 0x10014486
mov ecx, dword [esi + 0x98]
cmp ecx, dword [esi + 0xa8]
mov ecx, 0xb7f3a420
mov edx, 0x8543a78e
cmova ecx, edx
jmp 0x10014486
cmp ecx, 0xb7f3a420
je 0x100144d7
cmp ecx, 0x24913aba
jne 0x10014486
jmp 0x1001451f
mov eax, 0x101
mov ecx, 0x24913aba
jmp 0x10014486
lea ecx, [esi + 0xb0]
push ebx
push dword [esi + 0xc]
lea eax, [esi + 0xd0]
push eax
call fcn.100145a4
mov eax, dword [esi + 8]
mov eax, dword [eax]
add eax, ebx
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, 0x100
mov ecx, 0x24913aba
jmp 0x10014486
mov eax, 0xb2546236
mov edi, dword [esi + 0x18]
jmp 0x100143e1
mov eax, 0xb2546236
mov edi, dword [esi + 0x28]
jmp 0x100143e1
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
cmp eax, 0x100
mov eax, 0x661f4ca7
mov ecx, 0x7ba64831
cmove eax, ecx
jmp 0x100143e1
mov eax, dword [esi + 0x3c]
cmp edi, 0x100
mov eax, 0xdf841d69
mov ecx, 0x7e0a6ef
cmove eax, ecx
jmp 0x10012fc9
cmp eax, 0x4f2649f5
jne 0x10012fc9
lea ecx, [esi + 0xd0]
call fcn.100087f0
mov eax, dword [esi + 0x64]
lea ecx, [esi + 0xe8]
call fcn.100087f0
mov bl, byte [esi + 0x39]
and bl, 1
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
call fcn.100087f0
mov ecx, dword [esi + 0x100]
xor ecx, ebp
call fcn.100879aa
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret