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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x15c
push ebx
push esi
push edi
mov eax, ecx
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], eax
mov edi, edx
mov edx, 0x20
push 0
push ecx
mov ecx, eax
mov dword [esp + 0x30], edi
call fcn.100e0460
mov esi, eax
add esp, 8
test esi, esi
jne 0x100eaa4c
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x2c]
add ecx, 1
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xc]
adc eax, esi
movlpd qword [esp + 0x70], xmm0
push eax
push ecx
push 1
push ebx
call fcn.1004b1a0
mov eax, edi
cdq
push edx
push eax
push 2
push ebx
call fcn.1004b1a0
add esp, 0x20
xor edi, edi
test ebx, ebx
jne 0x100e9bc0
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021520
add esp, 8
jmp 0x100e9be0
cmp dword [ebx], edi
jne 0x100e9bda
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021520
add esp, 8
mov eax, 1
jmp 0x100e9bdc
xor eax, eax
test eax, eax
je 0x100e9c11
push 0x10156dc4
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021520
add esp, 0x14
test ebx, ebx
jne 0x100eaa55
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9c28
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, ebx
call fcn.10049950
mov esi, eax
cmp esi, 0x11
jne 0x100e9e4d
nop word [eax + eax]
mov ecx, edi
inc edi
mov dword [esp + 0x1c], edi
cmp ecx, 0x32
jge 0x100e9e4d
mov eax, dword [ebx + 0x20]
lea ecx, [esp + 0x14]
mov esi, dword [ebx]
mov edx, dword [ebx + 0xc8]
push 0
push ecx
mov dword [esp + 0x28], eax
mov ecx, esi
movzx eax, byte [ebx + 0x94]
push ebx
push eax
push 0xffffffffffffffff
call fcn.100931f0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x100e9d87
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x80]
mov ecx, 0x3a
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
mov ecx, 0x3a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3a
lea esi, [esp + 0x80]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0xc8]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xc8], eax
mov dword [ebx + 0xc8], ecx
mov ecx, esi
mov eax, dword [esi + 0xdc]
mov dword [ebx + 0xdc], eax
mov al, byte [esi + 0x94]
mov byte [ebx + 0x94], al
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [ebx + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [ebx + 0xb4], xmm0
mov eax, dword [esi + 0xc4]
mov dword [ebx + 0xc4], eax
inc dword [ebx + 0xb8]
call fcn.1004ba40
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x100e9d4e
mov ecx, esi
call fcn.10046980
mov ecx, esi
call fcn.10046a60
push ebx
call fcn.10048bc0
add esp, 4
cmp dword [esp + 0x20], 0
jl 0x100e9d6c
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.10049950
mov esi, eax
cmp esi, 0x11
jne 0x100e9e4d
mov edi, dword [esp + 0x1c]
jmp 0x100e9c40
cmp edi, 7
jne 0x100e9d93
mov ecx, esi
call fcn.1001ebf0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100e9da5
xor esi, esi
jmp 0x100e9dd8
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e9dc2
cmp byte [ecx + 0x12], 1
jne 0x100e9dc2
mov esi, dword [ecx + 8]
jmp 0x100e9dd4
test dl, 1
je 0x100e9dcb
xor esi, esi
jmp 0x100e9dd4
mov dl, 1
call fcn.100433c0
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x100e9de6
mov ecx, eax
call fcn.1001e480
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x100e9e98
test esi, esi
jne 0x100e9dfc
xor eax, eax
jmp 0x100e9e3a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e9e01
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x28], eax
call fcn.1001e920
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100e9e3a
push dword [esp + 0x20]
push esi
push eax
call fcn.1012bec0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001ecd0
mov esi, eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9e62
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x64
jne 0x100e9bfe
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9e7e
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100e9ea9
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x100e9ea9
add ecx, 0x28
jmp 0x100e9ec1
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x100e9e51
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov ecx, 0x10151998
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100e9ed4
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x14], esi
jmp 0x100e9f11
test al, 8
je 0x100e9ee7
movsd xmm0, qword [ecx]
call fcn.100426d0
mov dword [esp + 0x14], edx
jmp 0x100e9f11
test al, 0x12
je 0x100e9efc
cmp dword [ecx + 8], 0
je 0x100e9efc
call fcn.10042700
mov dword [esp + 0x14], edx
jmp 0x100e9f11
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x30], eax
cmp byte [ecx + 0x57], 0
jne 0x100e9f28
test edx, edx
jne 0x100e9f28
xor eax, eax
jmp 0x100e9f2d
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9f43
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9f56
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100e9f70
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x100e9f70
add ecx, 0x50
jmp 0x100e9f88
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov ecx, 0x10151998
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100e9f9b
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x10], esi
jmp 0x100e9fd8
test al, 8
je 0x100e9fae
movsd xmm0, qword [ecx]
call fcn.100426d0
mov dword [esp + 0x10], edx
jmp 0x100e9fd8
test al, 0x12
je 0x100e9fc3
cmp dword [ecx + 8], 0
je 0x100e9fc3
call fcn.10042700
mov dword [esp + 0x10], edx
jmp 0x100e9fd8
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x38], eax
cmp byte [ecx + 0x57], 0
jne 0x100e9fef
test edx, edx
jne 0x100e9fef
xor eax, eax
jmp 0x100e9ff4
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea00a
push eax
call dword [0x10165b50]
add esp, 4
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x70]
mov edx, 3
mov ecx, ebx
lea esi, [edi + 0x28]
push esi
push eax
call fcn.100e53f0
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
test ecx, ecx
jg 0x100ea040
jl 0x100ea034
test eax, eax
jae 0x100ea040
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x100ea048
mov al, 1
jmp 0x100ea04a
xor al, al
mov byte [edi + 0x30], al
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea060
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x100ea07d
cmp si, word [ebx + 0x90]
jae 0x100ea07d
add ecx, 0xa0
jmp 0x100ea095
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov ecx, 0x10151998
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100ea0a8
cmp byte [ecx + 0x12], 1
jne 0x100ea0a8
mov eax, dword [ecx + 0xc]
jmp 0x100ea0d7
test al, 0x10
je 0x100ea0c2
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100ea0bc
mov eax, dword [ecx]
add eax, edx
jmp 0x100ea0d7
mov dword [esp + 0xc], edx
jmp 0x100ea0db
test al, 1
je 0x100ea0d0
mov dword [esp + 0xc], 0
jmp 0x100ea0db
mov dl, 1
call fcn.10043b00
mov dword [esp + 0xc], eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100ea0ee
test edx, edx
jne 0x100ea0ee
xor eax, eax
jmp 0x100ea0f3
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea109
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea11c
push eax
call dword [0x10165b48]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100ea133
cmp si, word [ebx + 0x90]
jae 0x100ea133
add eax, 0xa0
jmp 0x100ea14b
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.100220a0
mov eax, 0x10151998
push eax
call fcn.10048d20
mov ecx, dword [ebx]
add esp, 4
mov edx, dword [ebx + 0x24]
mov esi, eax
mov dword [esp + 0x20], esi
cmp byte [ecx + 0x57], 0
jne 0x100ea16d
test edx, edx
jne 0x100ea16d
xor eax, eax
jmp 0x100ea172
call fcn.1001ecd0
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea188
push eax
call dword [0x10165b50]
add esp, 4
test esi, esi
jne 0x100ea24c
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea1a3
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea1c0
jg 0x100ea1b7
cmp dword [ebx + 0x88], 0
jbe 0x100ea1c0
mov edx, ebx
mov ecx, esi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x100ea219
test eax, eax
je 0x100ea222
mov edx, eax
mov ecx, esi
call fcn.1001ecd0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea233
push eax
call dword [0x10165b50]
add esp, 4
cmp dword [esp + 0xc], 0
mov eax, 0x10b
mov ecx, 7
cmovne eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x74]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x40]
push dword [esp + 0x74]
call fcn.100e9740
mov esi, eax
add esp, 8
test esi, esi
jne 0x100ea8e3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ea8e3
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x7c]
push esi
push eax
push dword [esp + 0x18]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], esi
push dword [esp + 0x44]
mov dword [esp + 0x8c], esi
call fcn.100e1d40
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100ea45b
mov esi, dword [esp + 0x18]
xorps xmm0, xmm0
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x7c]
movlpd qword [esp + 0x4c], xmm0
movlpd qword [esp + 0x54], xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
test esi, esi
je 0x100ea2fc
cmp byte [esi], 0
je 0x100ea2fc
lea ecx, [esi + 1]
lea edx, [esp + 0x50]
call fcn.100d0240
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea304
mov dword [esp + 0x48], 1
test esi, esi
je 0x100ea319
lea ecx, [esp + 0x40]
call fcn.100e8970
mov esi, eax
test esi, esi
jne 0x100ea336
jmp 0x100ea320
xor esi, esi
nop dword [eax + eax]
cmp dword [esp + 0x40], 0
je 0x100ea336
lea ecx, [esp + 0x40]
call fcn.100e8970
mov esi, eax
test esi, esi
je 0x100ea320
mov eax, dword [esp + 0x5c]
mov edx, eax
cmp dword [ebp + 0x14], eax
cmovl edx, dword [ebp + 0x14]
test edx, edx
je 0x100ea3d6
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100ea3d6
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea3d6
mov dword [esp + 0x10], eax
sub edx, 4
jb 0x100ea382
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
jne 0x100ea387
add dword [esp + 0x10], 4
add ecx, 4
sub edx, 4
jae 0x100ea367
cmp edx, 0xfffffffc
je 0x100ea3d6
mov edi, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, byte [edi]
mov edi, dword [ebp + 0x18]
jne 0x100ea3cf
cmp edx, 0xfffffffd
je 0x100ea3d6
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 1]
mov ebx, dword [esp + 0x2c]
jne 0x100ea3cf
cmp edx, 0xfffffffe
je 0x100ea3d6
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 2]
cmp al, byte [ebx + 2]
mov ebx, dword [esp + 0x2c]
jne 0x100ea3cf
cmp edx, 0xffffffff
je 0x100ea3d6
mov al, byte [ecx + 3]
mov ecx, dword [esp + 0x10]
cmp al, byte [ecx + 3]
je 0x100ea3d6
sbb eax, eax
or eax, 1
jmp 0x100ea3d8
xor eax, eax
mov ecx, dword [ebp + 0x14]
sub ecx, dword [esp + 0x5c]
test eax, eax
cmovne ecx, eax
mov eax, dword [esp + 0x3c]
xor edx, edx
test ecx, ecx
cmovle eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea45b
cmp dword [0x10165af8], edx
je 0x100ea451
mov ecx, dword [0x10168b40]
test ecx, ecx
je 0x100ea41b
push ecx
call dword [0x10165b48]
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call dword [0x10165b24]
sub dword [0x101689c8], eax
add esp, 4
mov eax, dword [esp + 0x58]
dec dword [0x101689ec]
push eax
call dword [0x10165b1c]
mov eax, dword [0x10168b40]
add esp, 4
test eax, eax
je 0x100ea460
push eax
call dword [0x10165b50]
jmp 0x100ea458
push eax
call dword [0x10165b1c]
add esp, 4
mov eax, dword [0x10168b40]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x100ea4c2
cmp dword [0x10165af8], 0
je 0x100ea4b8
test eax, eax
je 0x100ea483
push eax
call dword [0x10165b48]
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [0x10165b24]
sub dword [0x101689c8], eax
add esp, 4
dec dword [0x101689ec]
push dword [esp + 0x18]
call dword [0x10165b1c]
mov eax, dword [0x10168b40]
add esp, 4
test eax, eax
je 0x100ea4c2
push eax
call dword [0x10165b50]
jmp 0x100ea4bf
push ecx
call dword [0x10165b1c]
add esp, 4
test esi, esi
jne 0x100ea8e3
cmp dword [esp + 0x1c], esi
je 0x100ea8e3
mov eax, dword [esp + 0x20]
movsx ecx, byte [eax]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100ea97b
mov eax, dword [esp + 0x70]
inc ecx
sub eax, dword [esp + 0x30]
inc eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [edi], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x24], eax
mov eax, dword [ebp + 8]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x10], eax
cmp ecx, 0x10
jge 0x100ea55f
mov ebx, ecx
shl ebx, 5
add ebx, 0x38
add ebx, edi
nop
mov eax, dword [edi]
lea ebx, [ebx + 0x20]
imul eax, ecx
cdq
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
inc ecx
mov dword [ebx - 0x20], eax
mov dword [ebx - 0x1c], edx
cmp ecx, 0x10
jl 0x100ea540
mov ebx, dword [esp + 0x2c]
mov eax, dword [edi]
imul eax, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
shl edx, 5
mov dword [esp + 0x14], edx
mov ecx, edx
cdq
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
mov dword [ecx + edi + 0x38], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + edi + 0x3c], edx
mov edx, dword [esp + 0xc]
mov eax, dword [eax + 0xe8]
cmp edx, eax
cmovle edx, eax
add edx, 0x14
mov dword [esp + 0x1c], edx
cmp edx, dword [ecx + edi + 0x54]
jle 0x100ea5e4
mov eax, dword [ecx + edi + 0x4c]
mov dword [esp + 0x28], eax
call fcn.100cad40
test eax, eax
jne 0x100ea67a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e600
mov edx, eax
add esp, 8
test edx, edx
je 0x100ea67a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edi + 0x54], eax
mov dword [ecx + edi + 0x4c], edx
push dword [esp + 0xc]
push dword [esp + 0x24]
push dword [ecx + edi + 0x4c]
call fcn.1012bec0
mov edx, dword [esp + 0x20]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [edx + edi + 0x4c]
mov dword [edx + edi + 0x50], ecx
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
cmp dword [esp + 0x18], 0
jl 0x100ea8e3
add edi, 0x34
add edi, edx
test esi, esi
jne 0x100ea8e3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100ea869
cmp byte [ecx], 0
xorps xmm0, xmm0
mov eax, dword [edi + 0x1c]
movlpd qword [esp + 0x4c], xmm0
movlpd qword [esp + 0x54], xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
je 0x100ea685
inc ecx
lea edx, [esp + 0x50]
call fcn.100d0240
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea68d
mov edx, dword [esp + 0x14]
mov esi, 7
jmp 0x100ea617
mov dword [esp + 0x48], 1
lea ecx, [esp + 0x40]
call fcn.100e8970
cmp dword [esp + 0x40], 0
mov esi, eax
je 0x100ea6ba
nop
test esi, esi
jne 0x100ea869
lea ecx, [esp + 0x40]
call fcn.100e8970
cmp dword [esp + 0x40], 0
mov esi, eax
jne 0x100ea6a0
test esi, esi
jne 0x100ea869
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x14]
jle 0x100ea706
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
call fcn.100cad40
test eax, eax
jne 0x100ea851
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e600
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea851
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x100ea71e
push eax
push dword [esp + 0x5c]
push dword [edi + 0xc]
call fcn.1012bec0
mov eax, dword [esp + 0x68]
add esp, 0xc
cmp dword [esp + 0x18], 0
mov dword [edi + 0x10], eax
jbe 0x100ea869
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x14]
mov ecx, dword [esp + 0x50]
push 0
push edx
push eax
mov dword [edi - 0x1c], ecx
lea edx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [edi - 0x18], eax
call fcn.100e1d40
mov ecx, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x44]
add esp, 0x10
mov eax, dword [eax + 0xe8]
cmp ecx, eax
cmovg eax, ecx
lea edx, [eax + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
test esi, esi
jne 0x100ea7f7
cmp edx, dword [edi]
jle 0x100ea7cd
mov eax, dword [edi - 8]
mov dword [esp + 0x28], eax
call fcn.100cad40
test eax, eax
jne 0x100ea858
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e600
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea858
mov eax, dword [esp + 0x20]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
mov dword [edi - 8], ecx
mov ecx, dword [esp + 0x14]
push ecx
push eax
push dword [edi - 8]
call fcn.1012bec0
mov ecx, dword [esp + 0x20]
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 + 0x10]
test eax, eax
je 0x100ea869
cmp dword [0x10165af8], 0
je 0x100ea85f
mov ecx, dword [0x10168b40]
test ecx, ecx
je 0x100ea81c
push ecx
call dword [0x10165b48]
mov eax, dword [esp + 0x14]
add esp, 4
push eax
call dword [0x10165b24]
sub dword [0x101689c8], eax
add esp, 4
dec dword [0x101689ec]
push dword [esp + 0x10]
call dword [0x10165b1c]
mov eax, dword [0x10168b40]
add esp, 4
test eax, eax
je 0x100ea869
push eax
call dword [0x10165b50]
jmp 0x100ea866
mov esi, 7
jmp 0x100ea869
mov esi, 7
jmp 0x100ea7f3
push eax
call dword [0x10165b1c]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea8cf
cmp dword [0x10165af8], 0
je 0x100ea8c5
mov eax, dword [0x10168b40]
test eax, eax
je 0x100ea88d
push eax
call dword [0x10165b48]
add esp, 4
push dword [esp + 0x58]
call dword [0x10165b24]
sub dword [0x101689c8], eax
add esp, 4
dec dword [0x101689ec]
push dword [esp + 0x58]
call dword [0x10165b1c]
mov eax, dword [0x10168b40]
add esp, 4
test eax, eax
je 0x100ea8cf
push eax
call dword [0x10165b50]
jmp 0x100ea8cc
push eax
call dword [0x10165b1c]
add esp, 4
mov eax, dword [esp + 0x18]
sub edi, 0x20
dec eax
mov dword [esp + 0x18], eax
test eax, eax
jns 0x100ea627
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100ea8f6
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea913
jg 0x100ea90a
cmp dword [ebx + 0x88], 0
jbe 0x100ea913
mov edx, ebx
mov ecx, edi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [edi + 0x57], 0
jne 0x100eaa2a
test eax, eax
jne 0x100eaa2a
xor ebx, ebx
jmp 0x100eaa35
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea98e
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea9ab
jg 0x100ea9a2
cmp dword [ebx + 0x88], 0
jbe 0x100ea9ab
mov edx, ebx
mov ecx, esi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x100eaa04
test eax, eax
je 0x100eaa0d
mov edx, eax
mov ecx, esi
call fcn.1001ecd0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eaa1e
push eax
call dword [0x10165b50]
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.1001ecd0
mov ebx, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100eaa46
push ecx
call dword [0x10165b50]
add esp, 4
test esi, esi
jne 0x100eaa4c
mov esi, ebx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eaa68
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100eaa85
jg 0x100eaa7c
cmp dword [ebx + 0x88], 0
jbe 0x100eaa85
mov edx, ebx
mov ecx, esi
call fcn.10048a20
mov ecx, ebx
call fcn.10046980
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x100eaae2
test eax, eax
jne 0x100eaae2
xor edi, edi
jmp 0x100eaaed
mov edx, eax
mov ecx, esi
call fcn.1001ecd0
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eaafe
push eax
call dword [0x10165b50]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret