Function at 0x100f6de0
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.100ee4e0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f7b2c
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.10057670
mov eax, edi
cdq
push edx
push eax
push 2
push esi
call fcn.10057670
add esp, 0x20
test esi, esi
jne 0x100f6e67
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.1002a9f0
add esp, 8
jmp 0x100f6e87
cmp dword [esi], ebx
jne 0x100f6e81
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.1002a9f0
add esp, 8
mov eax, 1
jmp 0x100f6e83
xor eax, eax
test eax, eax
je 0x100f6eb6
push 0x10167d54
push 0x160fd
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.1002a9f0
add esp, 0x14
test esi, esi
jne 0x100f7b35
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 0x100f6ecd
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, esi
call fcn.10055c90
mov edi, eax
cmp edi, 0x11
jne 0x100f6f1c
nop dword [eax + eax]
mov ecx, ebx
inc ebx
cmp ecx, 0x32
jge 0x100f6f1c
mov edi, dword [esi + 0x20]
mov ecx, esi
call fcn.1009fff0
mov dword [esp + 0x28], eax
test eax, eax
jne 0x100f6f72
push esi
call fcn.10054fa0
add esp, 4
test edi, edi
js 0x100f6f0e
mov byte [esi + 0x95], 0xfe
mov ecx, esi
call fcn.10055c90
mov edi, eax
cmp edi, 0x11
je 0x100f6ee0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f6f31
push eax
call dword [0x10178a90]
add esp, 4
cmp edi, 0x64
jne 0x100f6ea5
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f6f4d
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f7041
mov ecx, 1
cmp cx, word [esi + 0x90]
jae 0x100f7041
lea ecx, [eax + 0x28]
jmp 0x100f7059
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100f6f84
xor edi, edi
jmp 0x100f6fb7
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100f6fa1
cmp byte [ecx + 0x12], 1
jne 0x100f6fa1
mov edi, dword [ecx + 8]
jmp 0x100f6fb3
test dl, 1
je 0x100f6faa
xor edi, edi
jmp 0x100f6fb3
mov dl, 1
call fcn.1004f390
mov edi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x100f6fc5
mov ecx, eax
call fcn.10027de0
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x100f702d
test edi, edi
jne 0x100f6fd7
xor ebx, ebx
jmp 0x100f7013
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f6fe0
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x34], eax
call fcn.10028280
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100f7013
push dword [esp + 0x2c]
push edi
push ebx
call fcn.1013c1a0
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x7c], ebx
call fcn.10028630
mov edi, eax
mov dword [esi + 0x24], edi
jmp 0x100f6f1c
mov edi, 7
mov dword [esi + 0x7c], 0
mov dword [esi + 0x24], edi
jmp 0x100f6f20
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
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 0x100f7079
test edx, edx
jne 0x100f7079
xor eax, eax
jmp 0x100f707e
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f7094
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f70a7
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f70c1
mov ecx, 2
cmp cx, word [esi + 0x90]
jae 0x100f70c1
lea ecx, [eax + 0x50]
jmp 0x100f70d9
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
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 0x100f70f9
test edx, edx
jne 0x100f70f9
xor eax, eax
jmp 0x100f70fe
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f7114
push eax
call dword [0x10178a90]
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.100f2ed0
mov ecx, dword [edi + 4]
add esp, 8
mov eax, dword [edi]
test ecx, ecx
jg 0x100f714a
jl 0x100f713e
test eax, eax
jae 0x100f714a
neg eax
mov dword [edi], eax
adc ecx, 0
neg ecx
mov dword [edi + 4], ecx
or eax, ecx
jne 0x100f7152
mov al, 1
jmp 0x100f7154
xor al, al
mov byte [ebx + 0x30], al
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f716a
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [esi + 0x78]
mov edi, 4
test ecx, ecx
je 0x100f7187
cmp di, word [esi + 0x90]
jae 0x100f7187
add ecx, 0xa0
jmp 0x100f719f
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100f71b6
cmp byte [ecx + 0x12], 1
jne 0x100f71b6
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0xc], ebx
jmp 0x100f71ef
test al, 0x10
je 0x100f71d6
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100f71ce
mov ebx, dword [ecx]
add ebx, edx
mov dword [esp + 0xc], ebx
jmp 0x100f71ef
mov ebx, edx
mov dword [esp + 0xc], ebx
jmp 0x100f71ef
test al, 1
je 0x100f71e2
xor ebx, ebx
mov dword [esp + 0xc], ebx
jmp 0x100f71ef
mov dl, 1
call fcn.1004fae0
mov ebx, eax
mov dword [esp + 0xc], eax
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f7202
test edx, edx
jne 0x100f7202
xor eax, eax
jmp 0x100f7207
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f721d
push eax
call dword [0x10178a90]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f7230
push eax
call dword [0x10178a88]
add esp, 4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100f7247
cmp di, word [esi + 0x90]
jae 0x100f7247
add eax, 0xa0
jmp 0x100f725f
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov eax, 0x10162818
push eax
call fcn.10055100
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 0x100f7281
test edx, edx
jne 0x100f7281
xor eax, eax
jmp 0x100f7286
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f729c
push eax
call dword [0x10178a90]
add esp, 4
test edi, edi
jne 0x100f735d
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f72b7
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f72d4
jg 0x100f72cb
cmp dword [esi + 0x88], 0
jbe 0x100f72d4
mov edx, esi
mov ecx, edi
call fcn.10054e00
mov ecx, esi
call fcn.10052a30
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 0x100f732d
test eax, eax
je 0x100f7336
mov edx, eax
mov ecx, edi
call fcn.10028630
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f7347
push eax
call dword [0x10178a90]
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.100f6b10
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100f79c3
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
test eax, eax
je 0x100f79c3
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.100efac0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x100f7537
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 0x100f740a
cmp byte [ebx], 0
je 0x100f740a
lea ecx, [ebx + 1]
lea edx, [esp + 0x58]
call fcn.100de590
inc eax
mov dword [esp + 0x50], eax
jmp 0x100f7412
mov dword [esp + 0x50], 1
test ebx, ebx
je 0x100f7427
lea ecx, [esp + 0x48]
call fcn.100f5d40
mov ebx, eax
test ebx, ebx
jne 0x100f7446
jmp 0x100f7430
xor ebx, ebx
nop dword [eax]
cmp dword [esp + 0x48], 0
je 0x100f7446
lea ecx, [esp + 0x48]
call fcn.100f5d40
mov ebx, eax
test ebx, ebx
je 0x100f7430
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 0x100f74c3
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100f74c3
test eax, eax
je 0x100f74c3
mov edi, eax
sub edx, 4
jb 0x100f7481
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x100f7486
add ecx, 4
add edi, 4
sub edx, 4
jae 0x100f7470
cmp edx, 0xfffffffc
je 0x100f74ba
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x100f74b3
cmp edx, 0xfffffffd
je 0x100f74ba
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
jne 0x100f74b3
cmp edx, 0xfffffffe
je 0x100f74ba
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x100f74b3
cmp edx, 0xffffffff
je 0x100f74ba
mov al, byte [ecx + 3]
cmp al, byte [edi + 3]
je 0x100f74ba
sbb eax, eax
or eax, 1
jmp 0x100f74bc
xor eax, eax
test eax, eax
jne 0x100f74c9
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 0x100f7537
cmp dword [0x10178a38], edx
je 0x100f752d
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x100f74fb
push eax
call dword [0x10178a88]
add esp, 4
push edi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push edi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f753c
push eax
call dword [0x10178a90]
jmp 0x100f7534
push edi
call dword [0x10178a5c]
add esp, 4
mov eax, dword [0x1017bbe8]
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100f7597
cmp dword [0x10178a38], 0
je 0x100f758d
test eax, eax
je 0x100f755b
push eax
call dword [0x10178a88]
add esp, 4
push edi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push edi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f7597
push eax
call dword [0x10178a90]
jmp 0x100f7594
push edi
call dword [0x10178a5c]
add esp, 4
test ebx, ebx
jne 0x100f79c3
cmp dword [esp + 0x24], ebx
je 0x100f79c3
mov eax, dword [esp + 0x2c]
movsx ecx, byte [eax]
mov dword [esp + 0x10], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100f7a5b
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 0x100f763e
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 0x100f7618
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 0x100f76b6
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x3c], eax
call fcn.100d8ee0
test eax, eax
jne 0x100f775a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10027f60
add esp, 8
test eax, eax
je 0x100f775a
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.1013c1a0
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 0x100f79c3
mov edi, dword [ebp + 0x18]
mov eax, ecx
shl eax, 5
add edi, 0x34
add edi, eax
test ebx, ebx
jne 0x100f79c3
push 0x30
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.1013ad10
mov ecx, dword [edi + 0x18]
add esp, 0xc
test ecx, ecx
je 0x100f7949
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 0x100f7764
inc ecx
lea edx, [esp + 0x58]
call fcn.100de590
inc eax
mov dword [esp + 0x50], eax
jmp 0x100f776c
mov ebx, 7
jmp 0x100f76df
mov dword [esp + 0x50], 1
lea ecx, [esp + 0x48]
call fcn.100f5d40
cmp dword [esp + 0x48], 0
mov ebx, eax
je 0x100f779a
nop
test ebx, ebx
jne 0x100f7949
lea ecx, [esp + 0x48]
call fcn.100f5d40
cmp dword [esp + 0x48], 0
mov ebx, eax
jne 0x100f7780
test ebx, ebx
jne 0x100f7949
mov eax, dword [esp + 0x64]
cmp eax, dword [edi + 0x14]
jle 0x100f77e6
mov eax, dword [edi + 0xc]
mov dword [esp + 0x3c], eax
call fcn.100d8ee0
test eax, eax
jne 0x100f7931
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10027f60
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100f7931
mov eax, dword [esp + 0x64]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x100f77fe
push eax
push dword [esp + 0x64]
push dword [edi + 0xc]
call fcn.1013c1a0
mov eax, dword [esp + 0x70]
add esp, 0xc
cmp dword [esp + 0x10], 0
mov dword [edi + 0x10], eax
je 0x100f7949
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.100efac0
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 0x100f78d7
cmp edx, dword [edi]
jle 0x100f78ad
mov eax, dword [edi - 8]
mov dword [esp + 0x3c], eax
call fcn.100d8ee0
test eax, eax
jne 0x100f7938
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.10027f60
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100f7938
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.1013c1a0
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 0x100f7949
cmp dword [0x10178a38], 0
je 0x100f793f
mov ecx, dword [0x1017bbe8]
test ecx, ecx
je 0x100f78fc
push ecx
call dword [0x10178a88]
mov eax, dword [esp + 0x10]
add esp, 4
push eax
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push dword [esp + 0xc]
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f7949
push eax
call dword [0x10178a90]
jmp 0x100f7946
mov ebx, 7
jmp 0x100f7949
mov ebx, 7
jmp 0x100f78d3
push eax
call dword [0x10178a5c]
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
je 0x100f79af
cmp dword [0x10178a38], 0
je 0x100f79a5
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x100f796d
push eax
call dword [0x10178a88]
add esp, 4
push dword [esp + 0x60]
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push dword [esp + 0x60]
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f79af
push eax
call dword [0x10178a90]
jmp 0x100f79ac
push eax
call dword [0x10178a5c]
add esp, 4
mov ecx, dword [esp + 0x10]
sub edi, 0x20
dec ecx
mov dword [esp + 0x10], ecx
test ecx, ecx
jns 0x100f76f8
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f79d6
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f79f3
jg 0x100f79ea
cmp dword [esi + 0x88], 0
jbe 0x100f79f3
mov edx, esi
mov ecx, edi
call fcn.10054e00
mov ecx, esi
call fcn.10052a30
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 0x100f7b0a
test eax, eax
jne 0x100f7b0a
xor esi, esi
jmp 0x100f7b15
mov edi, dword [esi]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f7a6e
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f7a8b
jg 0x100f7a82
cmp dword [esi + 0x88], 0
jbe 0x100f7a8b
mov edx, esi
mov ecx, edi
call fcn.10054e00
mov ecx, esi
call fcn.10052a30
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 0x100f7ae4
test eax, eax
je 0x100f7aed
mov edx, eax
mov ecx, edi
call fcn.10028630
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f7afe
push eax
call dword [0x10178a90]
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.10028630
mov esi, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100f7b26
push ecx
call dword [0x10178a90]
add esp, 4
test ebx, ebx
jne 0x100f7b2c
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 0x100f7b48
push eax
call dword [0x10178a88]
add esp, 4
cmp dword [esi + 0x8c], 0
jl 0x100f7b65
jg 0x100f7b5c
cmp dword [esi + 0x88], 0
jbe 0x100f7b65
mov edx, esi
mov ecx, edi
call fcn.10054e00
mov ecx, esi
call fcn.10052a30
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 0x100f7bc2
test eax, eax
jne 0x100f7bc2
xor esi, esi
jmp 0x100f7bcd
mov edx, eax
mov ecx, edi
call fcn.10028630
mov esi, eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f7bde
push eax
call dword [0x10178a90]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret