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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], edi
push 0
push eax
mov edx, 0x20
mov dword [esp + 0x24], 0
call fcn.100ebda0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f541c
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov esi, dword [esp + 0x1c]
add ecx, 1
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
adc eax, ebx
movlpd qword [esp + 0x40], xmm0
push eax
push ecx
push 1
push esi
call fcn.10056380
mov eax, edi
cdq
push edx
push eax
push 2
push esi
call fcn.10056380
add esp, 0x20
test esi, esi
jne 0x100f4757
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.100296a0
add esp, 8
jmp 0x100f4777
cmp dword [esi], ebx
jne 0x100f4771
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.100296a0
add esp, 8
mov eax, 1
jmp 0x100f4773
xor eax, eax
test eax, eax
je 0x100f47a6
push 0x10166fc4
push 0x160fd
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.100296a0
add esp, 0x14
test esi, esi
jne 0x100f5425
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f47bd
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, esi
call fcn.10054980
mov edi, eax
cmp edi, 0x11
jne 0x100f480c
nop dword [eax + eax]
mov ecx, ebx
inc ebx
cmp ecx, 0x32
jge 0x100f480c
mov edi, dword [esi + 0x20]
mov ecx, esi
call fcn.1009d980
mov dword [esp + 0x28], eax
test eax, eax
jne 0x100f4862
push esi
call fcn.10053c90
add esp, 4
test edi, edi
js 0x100f47fe
mov byte [esi + 0x95], 0xfe
mov ecx, esi
call fcn.10054980
mov edi, eax
cmp edi, 0x11
je 0x100f47d0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4821
push eax
call dword [0x10177ba0]
add esp, 4
cmp edi, 0x64
jne 0x100f4795
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f483d
push eax
call dword [0x10177b98]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f4931
mov ecx, 1
cmp cx, word [esi + 0x90]
jae 0x100f4931
lea ecx, [eax + 0x28]
jmp 0x100f4949
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100f4874
xor edi, edi
jmp 0x100f48a7
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100f4891
cmp byte [ecx + 0x12], 1
jne 0x100f4891
mov edi, dword [ecx + 8]
jmp 0x100f48a3
test dl, 1
je 0x100f489a
xor edi, edi
jmp 0x100f48a3
mov dl, 1
call fcn.1004e000
mov edi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x100f48b5
mov ecx, eax
call fcn.10026a90
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x100f491d
test edi, edi
jne 0x100f48c7
xor ebx, ebx
jmp 0x100f4903
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f48d0
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x34], eax
call fcn.10026f30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100f4903
push dword [esp + 0x2c]
push edi
push ebx
call fcn.10139d00
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x7c], ebx
call fcn.100272e0
mov edi, eax
mov dword [esi + 0x24], edi
jmp 0x100f480c
mov edi, 7
mov dword [esi + 0x7c], 0
mov dword [esi + 0x24], edi
jmp 0x100f4810
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
call fcn.1004d340
mov ecx, dword [esi]
mov dword [esp + 0x38], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0x28], eax
cmp byte [ecx + 0x57], 0
jne 0x100f4969
test edx, edx
jne 0x100f4969
xor eax, eax
jmp 0x100f496e
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4984
push eax
call dword [0x10177ba0]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4997
push eax
call dword [0x10177b98]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f49b1
mov ecx, 2
cmp cx, word [esi + 0x90]
jae 0x100f49b1
lea ecx, [eax + 0x50]
jmp 0x100f49c9
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
call fcn.1004d340
mov ecx, dword [esi]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0x34], eax
cmp byte [ecx + 0x57], 0
jne 0x100f49e9
test edx, edx
jne 0x100f49e9
xor eax, eax
jmp 0x100f49ee
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4a04
push eax
call dword [0x10177ba0]
add esp, 4
mov ebx, dword [ebp + 0x18]
lea eax, [esp + 0x40]
mov edx, 3
mov ecx, esi
lea edi, [ebx + 0x28]
push edi
push eax
call fcn.100f07a0
mov ecx, dword [edi + 4]
add esp, 8
mov eax, dword [edi]
test ecx, ecx
jg 0x100f4a3a
jl 0x100f4a2e
test eax, eax
jae 0x100f4a3a
neg eax
mov dword [edi], eax
adc ecx, 0
neg ecx
mov dword [edi + 4], ecx
or eax, ecx
jne 0x100f4a42
mov al, 1
jmp 0x100f4a44
xor al, al
mov byte [ebx + 0x30], al
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4a5a
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [esi + 0x78]
mov edi, 4
test ecx, ecx
je 0x100f4a77
cmp di, word [esi + 0x90]
jae 0x100f4a77
add ecx, 0xa0
jmp 0x100f4a8f
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100f4aa6
cmp byte [ecx + 0x12], 1
jne 0x100f4aa6
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0xc], ebx
jmp 0x100f4adf
test al, 0x10
je 0x100f4ac6
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100f4abe
mov ebx, dword [ecx]
add ebx, edx
mov dword [esp + 0xc], ebx
jmp 0x100f4adf
mov ebx, edx
mov dword [esp + 0xc], ebx
jmp 0x100f4adf
test al, 1
je 0x100f4ad2
xor ebx, ebx
mov dword [esp + 0xc], ebx
jmp 0x100f4adf
mov dl, 1
call fcn.1004e750
mov ebx, eax
mov dword [esp + 0xc], eax
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f4af2
test edx, edx
jne 0x100f4af2
xor eax, eax
jmp 0x100f4af7
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4b0d
push eax
call dword [0x10177ba0]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4b20
push eax
call dword [0x10177b98]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f4b37
cmp di, word [esi + 0x90]
jae 0x100f4b37
add eax, 0xa0
jmp 0x100f4b4f
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov eax, 0x10161a88
push eax
call fcn.10053df0
mov ecx, dword [esi]
add esp, 4
mov edx, dword [esi + 0x24]
mov edi, eax
mov dword [esp + 0x2c], edi
cmp byte [ecx + 0x57], 0
jne 0x100f4b71
test edx, edx
jne 0x100f4b71
xor eax, eax
jmp 0x100f4b76
call fcn.100272e0
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f4b8c
push eax
call dword [0x10177ba0]
add esp, 4
test edi, edi
jne 0x100f4c4d
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f4ba7
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f4bc4
jg 0x100f4bbb
cmp dword [esi + 0x88], 0
jbe 0x100f4bc4
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov byte [esi + 0x97], 1
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
mov word [esi + 0x94], 0xff02
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
cmp byte [edi + 0x57], 0
jne 0x100f4c1d
test eax, eax
je 0x100f4c26
mov edx, eax
mov ecx, edi
call fcn.100272e0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f4c37
push eax
call dword [0x10177ba0]
add esp, 4
test ebx, ebx
mov eax, 0x10b
mov ecx, 7
cmovne eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x44]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x1c]
push dword [esp + 0x44]
mov ecx, edi
call fcn.100f4400
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f52b3
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
test eax, eax
je 0x100f52b3
push ebx
lea eax, [esp + 0x24]
mov dword [esp + 0x14], ebx
push eax
push dword [esp + 0x38]
lea edx, [esp + 0x1c]
mov dword [esp + 0x2c], ebx
push dword [esp + 0x40]
mov ecx, edi
call fcn.100ed380
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x100f4e27
mov ebx, dword [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
movlpd qword [esp + 0x54], xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
movlpd qword [esp + 0x6c], xmm0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
test ebx, ebx
je 0x100f4cfa
cmp byte [ebx], 0
je 0x100f4cfa
lea ecx, [ebx + 1]
lea edx, [esp + 0x58]
call fcn.100dbcc0
inc eax
mov dword [esp + 0x50], eax
jmp 0x100f4d02
mov dword [esp + 0x50], 1
test ebx, ebx
je 0x100f4d17
lea ecx, [esp + 0x48]
call fcn.100f3630
mov ebx, eax
test ebx, ebx
jne 0x100f4d36
jmp 0x100f4d20
xor ebx, ebx
nop dword [eax]
cmp dword [esp + 0x48], 0
je 0x100f4d36
lea ecx, [esp + 0x48]
call fcn.100f3630
mov ebx, eax
test ebx, ebx
je 0x100f4d20
mov edx, dword [esp + 0x64]
mov edi, dword [ebp + 0x14]
cmp edi, edx
mov eax, dword [esp + 0x60]
cmovl edx, edi
test edx, edx
je 0x100f4db3
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100f4db3
test eax, eax
je 0x100f4db3
mov edi, eax
sub edx, 4
jb 0x100f4d71
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x100f4d76
add ecx, 4
add edi, 4
sub edx, 4
jae 0x100f4d60
cmp edx, 0xfffffffc
je 0x100f4daa
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x100f4da3
cmp edx, 0xfffffffd
je 0x100f4daa
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
jne 0x100f4da3
cmp edx, 0xfffffffe
je 0x100f4daa
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x100f4da3
cmp edx, 0xffffffff
je 0x100f4daa
mov al, byte [ecx + 3]
cmp al, byte [edi + 3]
je 0x100f4daa
sbb eax, eax
or eax, 1
jmp 0x100f4dac
xor eax, eax
test eax, eax
jne 0x100f4db9
mov edi, dword [ebp + 0x14]
mov eax, edi
sub eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [esp + 0x60]
test eax, eax
cmovle ecx, edx
mov dword [esp + 0x24], ecx
test edi, edi
je 0x100f4e27
cmp dword [0x10177b48], edx
je 0x100f4e1d
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100f4deb
push eax
call dword [0x10177b98]
add esp, 4
push edi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push edi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f4e2c
push eax
call dword [0x10177ba0]
jmp 0x100f4e24
push edi
call dword [0x10177b6c]
add esp, 4
mov eax, dword [0x1017ad00]
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100f4e87
cmp dword [0x10177b48], 0
je 0x100f4e7d
test eax, eax
je 0x100f4e4b
push eax
call dword [0x10177b98]
add esp, 4
push edi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push edi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f4e87
push eax
call dword [0x10177ba0]
jmp 0x100f4e84
push edi
call dword [0x10177b6c]
add esp, 4
test ebx, ebx
jne 0x100f52b3
cmp dword [esp + 0x24], ebx
je 0x100f52b3
mov eax, dword [esp + 0x2c]
movsx ecx, byte [eax]
mov dword [esp + 0x10], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100f534b
mov edi, dword [esp + 0x40]
mov eax, edi
sub eax, dword [esp + 0x28]
inc eax
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ebp + 0x18]
sar eax, 4
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 0x24], eax
mov eax, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x20], edi
lea edi, [ecx + 1]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x10], eax
cmp edi, 0x10
jge 0x100f4f2e
mov ecx, edx
mov eax, edi
shl eax, 5
lea esi, [ecx + 0x38]
add esi, eax
mov eax, dword [ecx]
lea esi, [esi + 0x20]
imul eax, edi
cdq
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
inc edi
mov dword [esi - 0x20], eax
mov dword [esi - 0x1c], edx
cmp edi, 0x10
jl 0x100f4f08
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov edi, ecx
imul eax, ecx
mov ecx, dword [ebp + 0x18]
shl edi, 5
add edi, edx
cdq
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x3c], edx
mov eax, dword [eax + 0xe8]
cmp ecx, eax
cmovg eax, ecx
add eax, 0x14
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0x54]
jle 0x100f4fa6
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x3c], eax
call fcn.100d6670
test eax, eax
jne 0x100f504a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10026c10
add esp, 8
test eax, eax
je 0x100f504a
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x54], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x4c], eax
push ecx
push dword [esp + 0x30]
push dword [edi + 0x4c]
call fcn.10139d00
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
mov eax, dword [edi + 0x4c]
add esp, 0xc
mov dword [edi + 0x50], ecx
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
js 0x100f52b3
mov edi, dword [ebp + 0x18]
mov eax, ecx
shl eax, 5
add edi, 0x34
add edi, eax
test ebx, ebx
jne 0x100f52b3
push 0x30
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.10138870
mov ecx, dword [edi + 0x18]
add esp, 0xc
test ecx, ecx
je 0x100f5239
xorps xmm0, xmm0
mov eax, dword [edi + 0x1c]
movlpd qword [esp + 0x54], xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
movlpd qword [esp + 0x6c], xmm0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
cmp byte [ecx], bl
je 0x100f5054
inc ecx
lea edx, [esp + 0x58]
call fcn.100dbcc0
inc eax
mov dword [esp + 0x50], eax
jmp 0x100f505c
mov ebx, 7
jmp 0x100f4fcf
mov dword [esp + 0x50], 1
lea ecx, [esp + 0x48]
call fcn.100f3630
cmp dword [esp + 0x48], 0
mov ebx, eax
je 0x100f508a
nop
test ebx, ebx
jne 0x100f5239
lea ecx, [esp + 0x48]
call fcn.100f3630
cmp dword [esp + 0x48], 0
mov ebx, eax
jne 0x100f5070
test ebx, ebx
jne 0x100f5239
mov eax, dword [esp + 0x64]
cmp eax, dword [edi + 0x14]
jle 0x100f50d6
mov eax, dword [edi + 0xc]
mov dword [esp + 0x3c], eax
call fcn.100d6670
test eax, eax
jne 0x100f5221
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10026c10
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100f5221
mov eax, dword [esp + 0x64]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x100f50ee
push eax
push dword [esp + 0x64]
push dword [edi + 0xc]
call fcn.10139d00
mov eax, dword [esp + 0x70]
add esp, 0xc
cmp dword [esp + 0x10], 0
mov dword [edi + 0x10], eax
je 0x100f5239
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x18]
mov ecx, dword [esp + 0x58]
push 0
push edx
push eax
mov dword [edi - 0x1c], ecx
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
mov dword [edi - 0x18], eax
call fcn.100ed380
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x24]
add esp, 0x10
mov eax, dword [eax + 0xe8]
cmp ecx, eax
cmovg eax, ecx
lea edx, [eax + 0x14]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], edx
test ebx, ebx
jne 0x100f51c7
cmp edx, dword [edi]
jle 0x100f519d
mov eax, dword [edi - 8]
mov dword [esp + 0x3c], eax
call fcn.100d6670
test eax, eax
jne 0x100f5228
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10026c10
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100f5228
mov eax, dword [esp + 0x2c]
mov dword [edi], eax
mov eax, dword [esp + 0xc]
mov dword [edi - 8], ecx
mov ecx, dword [esp + 0x18]
push ecx
push eax
push dword [edi - 8]
call fcn.10139d00
mov ecx, dword [esp + 0x24]
xorps xmm0, xmm0
mov eax, dword [edi - 8]
add esp, 0xc
mov dword [edi - 4], ecx
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x100f5239
cmp dword [0x10177b48], 0
je 0x100f522f
mov ecx, dword [0x1017ad00]
test ecx, ecx
je 0x100f51ec
push ecx
call dword [0x10177b98]
mov eax, dword [esp + 0x10]
add esp, 4
push eax
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push dword [esp + 0xc]
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f5239
push eax
call dword [0x10177ba0]
jmp 0x100f5236
mov ebx, 7
jmp 0x100f5239
mov ebx, 7
jmp 0x100f51c3
push eax
call dword [0x10177b6c]
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
je 0x100f529f
cmp dword [0x10177b48], 0
je 0x100f5295
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100f525d
push eax
call dword [0x10177b98]
add esp, 4
push dword [esp + 0x60]
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push dword [esp + 0x60]
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100f529f
push eax
call dword [0x10177ba0]
jmp 0x100f529c
push eax
call dword [0x10177b6c]
add esp, 4
mov ecx, dword [esp + 0x10]
sub edi, 0x20
dec ecx
mov dword [esp + 0x10], ecx
test ecx, ecx
jns 0x100f4fe8
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f52c6
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f52e3
jg 0x100f52da
cmp dword [esi + 0x88], 0
jbe 0x100f52e3
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov byte [esi + 0x97], 1
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
mov word [esi + 0x94], 0xff02
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
cmp byte [edi + 0x57], 0
jne 0x100f53fa
test eax, eax
jne 0x100f53fa
xor esi, esi
jmp 0x100f5405
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f535e
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f537b
jg 0x100f5372
cmp dword [esi + 0x88], 0
jbe 0x100f537b
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov byte [esi + 0x97], 1
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
mov word [esi + 0x94], 0xff02
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
cmp byte [edi + 0x57], 0
jne 0x100f53d4
test eax, eax
je 0x100f53dd
mov edx, eax
mov ecx, edi
call fcn.100272e0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f53ee
push eax
call dword [0x10177ba0]
add esp, 4
mov eax, 0x10b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
mov ecx, edi
call fcn.100272e0
mov esi, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100f5416
push ecx
call dword [0x10177ba0]
add esp, 4
test ebx, ebx
jne 0x100f541c
mov ebx, esi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f5438
push eax
call dword [0x10177b98]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f5455
jg 0x100f544c
cmp dword [esi + 0x88], 0
jbe 0x100f5455
mov edx, esi
mov ecx, edi
call fcn.10053af0
mov ecx, esi
call fcn.10051730
mov byte [esi + 0x97], 1
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
mov word [esi + 0x94], 0xff02
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
cmp byte [edi + 0x57], 0
jne 0x100f54b2
test eax, eax
jne 0x100f54b2
xor esi, esi
jmp 0x100f54bd
mov edx, eax
mov ecx, edi
call fcn.100272e0
mov esi, eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f54ce
push eax
call dword [0x10177ba0]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret