Function at 0x100e9c10
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 edi, edx
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x30]
mov dword [esp + 0x2c], edi
push 0
push eax
mov edx, 0x20
mov dword [esp + 0x38], 0
call fcn.100e07a0
mov esi, eax
add esp, 8
test esi, esi
jne 0x100eab3c
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x30]
add ecx, 1
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
adc eax, esi
movlpd qword [esp + 0x70], xmm0
push eax
push ecx
push 1
push ebx
call fcn.1004b340
mov eax, edi
cdq
push edx
push eax
push 2
push ebx
call fcn.1004b340
add esp, 0x20
xor edi, edi
test ebx, ebx
jne 0x100e9c9c
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021700
add esp, 8
jmp 0x100e9cbc
cmp dword [ebx], edi
jne 0x100e9cb6
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021700
add esp, 8
mov eax, 1
jmp 0x100e9cb8
xor eax, eax
test eax, eax
je 0x100e9ced
push 0x10155e9c
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021700
add esp, 0x14
test ebx, ebx
jne 0x100eab45
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 + 0x10], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9d04
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, ebx
call fcn.10049af0
mov esi, eax
cmp esi, 0x11
jne 0x100e9f2c
mov ecx, edi
inc edi
mov dword [esp + 0x1c], edi
cmp ecx, 0x32
jge 0x100e9f2c
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.10092a20
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x100e9e5d
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.1004bbe0
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x100e9e24
mov ecx, esi
call fcn.10046b40
mov ecx, esi
call fcn.10046c20
push ebx
call fcn.10048d60
add esp, 4
cmp dword [esp + 0x20], 0
jl 0x100e9e42
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.10049af0
mov esi, eax
cmp esi, 0x11
jne 0x100e9f2c
mov edi, dword [esp + 0x1c]
jmp 0x100e9d16
cmp edi, 7
jne 0x100e9e69
mov ecx, esi
call fcn.1001ef20
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100e9e7b
xor esi, esi
jmp 0x100e9eae
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e9e98
cmp byte [ecx + 0x12], 1
jne 0x100e9e98
mov esi, dword [ecx + 8]
jmp 0x100e9eaa
test dl, 1
je 0x100e9ea1
xor esi, esi
jmp 0x100e9eaa
mov dl, 1
call fcn.10043510
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x100e9ebc
mov ecx, eax
call fcn.1001e7b0
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x57], 0
jne 0x100e9f77
test esi, esi
jne 0x100e9ed2
xor eax, eax
jmp 0x100e9f19
mov ecx, esi
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e9ee0
sub ecx, dword [esp + 0x20]
push 0
lea eax, [ecx + 1]
mov ecx, edx
push eax
mov dword [esp + 0x28], eax
call fcn.1001ec50
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100e9f19
push dword [esp + 0x20]
push esi
push eax
call fcn.1012ad80
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001f000
mov esi, eax
mov dword [ebx + 0x24], esi
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100e9f41
push eax
call dword [0x10165b90]
add esp, 4
cmp esi, 0x64
jne 0x100e9cda
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9f5d
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100e9f88
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x100e9f88
add ecx, 0x28
jmp 0x100e9fa0
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x100e9f30
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022340
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100e9fb3
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x14], esi
jmp 0x100e9ff0
test al, 8
je 0x100e9fc6
movsd xmm0, qword [ecx]
call fcn.10042840
mov dword [esp + 0x14], edx
jmp 0x100e9ff0
test al, 0x12
je 0x100e9fdb
cmp dword [ecx + 8], 0
je 0x100e9fdb
call fcn.10042870
mov dword [esp + 0x14], edx
jmp 0x100e9ff0
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 + 0x34], eax
cmp byte [ecx + 0x57], 0
jne 0x100ea007
test edx, edx
jne 0x100ea007
xor eax, eax
jmp 0x100ea00c
call fcn.1001f000
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea022
push eax
call dword [0x10165b90]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea035
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100ea04f
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x100ea04f
add ecx, 0x50
jmp 0x100ea067
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022340
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100ea07a
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0xc], esi
jmp 0x100ea0b7
test al, 8
je 0x100ea08d
movsd xmm0, qword [ecx]
call fcn.10042840
mov dword [esp + 0xc], edx
jmp 0x100ea0b7
test al, 0x12
je 0x100ea0a2
cmp dword [ecx + 8], 0
je 0x100ea0a2
call fcn.10042870
mov dword [esp + 0xc], edx
jmp 0x100ea0b7
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x3c], eax
cmp byte [ecx + 0x57], 0
jne 0x100ea0ce
test edx, edx
jne 0x100ea0ce
xor eax, eax
jmp 0x100ea0d3
call fcn.1001f000
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea0e9
push eax
call dword [0x10165b90]
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.100e5570
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
test ecx, ecx
jg 0x100ea11f
jl 0x100ea113
test eax, eax
jae 0x100ea11f
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x100ea127
mov al, 1
jmp 0x100ea129
xor al, al
mov byte [edi + 0x30], al
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea13f
push eax
call dword [0x10165b88]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x100ea15c
cmp si, word [ebx + 0x90]
jae 0x100ea15c
add ecx, 0xa0
jmp 0x100ea174
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022340
mov ecx, 0x10150a48
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100ea187
cmp byte [ecx + 0x12], 1
jne 0x100ea187
mov eax, dword [ecx + 0xc]
jmp 0x100ea1b6
test al, 0x10
je 0x100ea1a1
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100ea19b
mov eax, dword [ecx]
add eax, edx
jmp 0x100ea1b6
mov dword [esp + 0x10], edx
jmp 0x100ea1ba
test al, 1
je 0x100ea1af
mov dword [esp + 0x10], 0
jmp 0x100ea1ba
mov dl, 1
call fcn.10043c50
mov dword [esp + 0x10], eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100ea1cd
test edx, edx
jne 0x100ea1cd
xor eax, eax
jmp 0x100ea1d2
call fcn.1001f000
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea1e8
push eax
call dword [0x10165b90]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea1fb
push eax
call dword [0x10165b88]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100ea212
cmp si, word [ebx + 0x90]
jae 0x100ea212
add eax, 0xa0
jmp 0x100ea22a
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022340
mov eax, 0x10150a48
push eax
call fcn.10048ec0
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 0x100ea24c
test edx, edx
jne 0x100ea24c
xor eax, eax
jmp 0x100ea251
call fcn.1001f000
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea267
push eax
call dword [0x10165b90]
add esp, 4
test esi, esi
jne 0x100ea32b
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea282
push eax
call dword [0x10165b88]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea29f
jg 0x100ea296
cmp dword [ebx + 0x88], 0
jbe 0x100ea29f
mov edx, ebx
mov ecx, esi
call fcn.10048bc0
mov ecx, ebx
call fcn.10046b40
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 0x100ea2f8
test eax, eax
je 0x100ea301
mov edx, eax
mov ecx, esi
call fcn.1001f000
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea312
push eax
call dword [0x10165b90]
add esp, 4
cmp dword [esp + 0x10], 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 + 0x3c]
lea edx, [esp + 0x2c]
push dword [esp + 0x74]
call fcn.100e9820
mov esi, eax
add esp, 8
test esi, esi
jne 0x100ea9d3
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ea9d3
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x7c]
push esi
push eax
push dword [esp + 0x14]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], esi
push dword [esp + 0x48]
mov dword [esp + 0x8c], esi
call fcn.100e1f20
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100ea53a
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 0x100ea3db
cmp byte [esi], 0
je 0x100ea3db
lea ecx, [esi + 1]
lea edx, [esp + 0x50]
call fcn.100d06c0
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea3e3
mov dword [esp + 0x48], 1
test esi, esi
je 0x100ea3f8
lea ecx, [esp + 0x40]
call fcn.100e8a70
mov esi, eax
test esi, esi
jne 0x100ea416
jmp 0x100ea400
xor esi, esi
nop word [eax + eax]
cmp dword [esp + 0x40], 0
je 0x100ea416
lea ecx, [esp + 0x40]
call fcn.100e8a70
mov esi, eax
test esi, esi
je 0x100ea400
mov eax, dword [esp + 0x5c]
mov edx, eax
cmp dword [ebp + 0x14], eax
cmovl edx, dword [ebp + 0x14]
test edx, edx
je 0x100ea4bc
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100ea4bc
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea4bc
mov dword [esp + 0xc], eax
sub edx, 4
jb 0x100ea462
mov ebx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp eax, dword [ebx]
mov ebx, dword [esp + 0x30]
jne 0x100ea467
add dword [esp + 0xc], 4
add ecx, 4
sub edx, 4
jae 0x100ea447
cmp edx, 0xfffffffc
je 0x100ea4b6
mov edi, dword [esp + 0xc]
mov al, byte [ecx]
cmp al, byte [edi]
mov edi, dword [ebp + 0x18]
jne 0x100ea4af
cmp edx, 0xfffffffd
je 0x100ea4b6
mov ebx, dword [esp + 0xc]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 1]
mov ebx, dword [esp + 0x30]
jne 0x100ea4af
cmp edx, 0xfffffffe
je 0x100ea4b6
mov ebx, dword [esp + 0xc]
mov al, byte [ecx + 2]
cmp al, byte [ebx + 2]
mov ebx, dword [esp + 0x30]
jne 0x100ea4af
cmp edx, 0xffffffff
je 0x100ea4b6
mov al, byte [ecx + 3]
mov ecx, dword [esp + 0xc]
cmp al, byte [ecx + 3]
je 0x100ea4b6
sbb eax, eax
or eax, 1
jmp 0x100ea4b8
xor eax, eax
test eax, eax
jne 0x100ea4c3
mov eax, dword [ebp + 0x14]
sub eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x58]
cmovle ecx, edx
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x100ea53a
cmp dword [0x10165b38], edx
je 0x100ea530
mov ecx, dword [0x10168b88]
test ecx, ecx
je 0x100ea4fa
push ecx
call dword [0x10165b88]
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call dword [0x10165b64]
sub dword [0x10168a10], eax
add esp, 4
mov eax, dword [esp + 0x58]
dec dword [0x10168a34]
push eax
call dword [0x10165b5c]
mov eax, dword [0x10168b88]
add esp, 4
test eax, eax
je 0x100ea53f
push eax
call dword [0x10165b90]
jmp 0x100ea537
push eax
call dword [0x10165b5c]
add esp, 4
mov eax, dword [0x10168b88]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x100ea5a1
cmp dword [0x10165b38], 0
je 0x100ea597
test eax, eax
je 0x100ea562
push eax
call dword [0x10165b88]
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [0x10165b64]
sub dword [0x10168a10], eax
add esp, 4
dec dword [0x10168a34]
push dword [esp + 0x18]
call dword [0x10165b5c]
mov eax, dword [0x10168b88]
add esp, 4
test eax, eax
je 0x100ea5a1
push eax
call dword [0x10165b90]
jmp 0x100ea59e
push ecx
call dword [0x10165b5c]
add esp, 4
test esi, esi
jne 0x100ea9d3
cmp dword [esp + 0x1c], esi
je 0x100ea9d3
mov eax, dword [esp + 0x20]
movsx ecx, byte [eax]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100eaa6b
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x34]
inc eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [edi], eax
mov eax, dword [esp + 0x34]
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 + 0x2c]
mov dword [edi + 0x10], eax
lea edi, [ecx + 1]
cmp edi, 0x10
jge 0x100ea645
mov ebx, dword [ebp + 0x18]
mov eax, edi
shl eax, 5
lea ecx, [ebx + 0x38]
add ecx, eax
mov eax, dword [ebx]
lea ecx, [ecx + 0x20]
imul eax, edi
cdq
add eax, dword [ebx + 0x18]
adc edx, dword [ebx + 0x1c]
inc edi
mov dword [ecx - 0x20], eax
mov dword [ecx - 0x1c], edx
cmp edi, 0x10
jl 0x100ea622
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov edi, dword [ebp + 0x18]
mov eax, ecx
shl eax, 5
mov dword [esp + 0x28], eax
mov eax, dword [edi]
imul eax, ecx
mov ecx, dword [esp + 0x28]
cdq
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
mov dword [ecx + edi + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + edi + 0x3c], edx
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0xe8]
cmp edx, eax
cmovg eax, edx
add eax, 0x14
mov dword [esp + 0x1c], eax
cmp eax, dword [ecx + edi + 0x54]
jle 0x100ea6cf
mov eax, dword [ecx + edi + 0x4c]
mov dword [esp + 0x2c], eax
call fcn.100cb1b0
test eax, eax
jne 0x100ea768
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.1001e930
mov edx, eax
add esp, 8
test edx, edx
je 0x100ea768
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edi + 0x4c], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + edi + 0x54], eax
push edx
push dword [esp + 0x24]
push dword [ecx + edi + 0x4c]
call fcn.1012ad80
mov eax, dword [esp + 0x34]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + edi + 0x50], ecx
mov eax, dword [eax + edi + 0x4c]
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
js 0x100ea9d3
mov eax, ecx
add edi, 0x34
shl eax, 5
add edi, eax
test esi, esi
jne 0x100ea9d3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100ea959
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 0x100ea76f
inc ecx
lea edx, [esp + 0x50]
call fcn.100d06c0
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea777
mov esi, 7
jmp 0x100ea6ff
mov dword [esp + 0x48], 1
lea ecx, [esp + 0x40]
call fcn.100e8a70
cmp dword [esp + 0x40], 0
mov esi, eax
je 0x100ea7aa
nop dword [eax]
test esi, esi
jne 0x100ea959
lea ecx, [esp + 0x40]
call fcn.100e8a70
cmp dword [esp + 0x40], 0
mov esi, eax
jne 0x100ea790
test esi, esi
jne 0x100ea959
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x14]
jle 0x100ea7f6
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
call fcn.100cb1b0
test eax, eax
jne 0x100ea941
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.1001e930
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea941
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x100ea80e
push eax
push dword [esp + 0x5c]
push dword [edi + 0xc]
call fcn.1012ad80
mov eax, dword [esp + 0x68]
add esp, 0xc
cmp dword [esp + 0x18], 0
mov dword [edi + 0x10], eax
je 0x100ea959
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 + 0x18]
push ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov dword [edi - 0x18], eax
call fcn.100e1f20
mov ecx, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x48]
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 + 0x20], edx
test esi, esi
jne 0x100ea8e7
cmp edx, dword [edi]
jle 0x100ea8bd
mov eax, dword [edi - 8]
mov dword [esp + 0x2c], eax
call fcn.100cb1b0
test eax, eax
jne 0x100ea948
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.1001e930
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea948
mov eax, dword [esp + 0x20]
mov dword [edi], eax
mov eax, dword [esp + 0xc]
mov dword [edi - 8], ecx
mov ecx, dword [esp + 0x14]
push ecx
push eax
push dword [edi - 8]
call fcn.1012ad80
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 + 0xc]
test eax, eax
je 0x100ea959
cmp dword [0x10165b38], 0
je 0x100ea94f
mov ecx, dword [0x10168b88]
test ecx, ecx
je 0x100ea90c
push ecx
call dword [0x10165b88]
mov eax, dword [esp + 0x10]
add esp, 4
push eax
call dword [0x10165b64]
sub dword [0x10168a10], eax
add esp, 4
dec dword [0x10168a34]
push dword [esp + 0xc]
call dword [0x10165b5c]
mov eax, dword [0x10168b88]
add esp, 4
test eax, eax
je 0x100ea959
push eax
call dword [0x10165b90]
jmp 0x100ea956
mov esi, 7
jmp 0x100ea959
mov esi, 7
jmp 0x100ea8e3
push eax
call dword [0x10165b5c]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea9bf
cmp dword [0x10165b38], 0
je 0x100ea9b5
mov eax, dword [0x10168b88]
test eax, eax
je 0x100ea97d
push eax
call dword [0x10165b88]
add esp, 4
push dword [esp + 0x58]
call dword [0x10165b64]
sub dword [0x10168a10], eax
add esp, 4
dec dword [0x10168a34]
push dword [esp + 0x58]
call dword [0x10165b5c]
mov eax, dword [0x10168b88]
add esp, 4
test eax, eax
je 0x100ea9bf
push eax
call dword [0x10165b90]
jmp 0x100ea9bc
push eax
call dword [0x10165b5c]
add esp, 4
mov ecx, dword [esp + 0x18]
sub edi, 0x20
dec ecx
mov dword [esp + 0x18], ecx
test ecx, ecx
jns 0x100ea715
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100ea9e6
push eax
call dword [0x10165b88]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100eaa03
jg 0x100ea9fa
cmp dword [ebx + 0x88], 0
jbe 0x100eaa03
mov edx, ebx
mov ecx, edi
call fcn.10048bc0
mov ecx, ebx
call fcn.10046b40
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 0x100eab1a
test eax, eax
jne 0x100eab1a
xor ebx, ebx
jmp 0x100eab25
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eaa7e
push eax
call dword [0x10165b88]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100eaa9b
jg 0x100eaa92
cmp dword [ebx + 0x88], 0
jbe 0x100eaa9b
mov edx, ebx
mov ecx, esi
call fcn.10048bc0
mov ecx, ebx
call fcn.10046b40
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 0x100eaaf4
test eax, eax
je 0x100eaafd
mov edx, eax
mov ecx, esi
call fcn.1001f000
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eab0e
push eax
call dword [0x10165b90]
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.1001f000
mov ebx, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100eab36
push ecx
call dword [0x10165b90]
add esp, 4
test esi, esi
jne 0x100eab3c
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 0x100eab58
push eax
call dword [0x10165b88]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100eab75
jg 0x100eab6c
cmp dword [ebx + 0x88], 0
jbe 0x100eab75
mov edx, ebx
mov ecx, esi
call fcn.10048bc0
mov ecx, ebx
call fcn.10046b40
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 0x100eabd2
test eax, eax
jne 0x100eabd2
xor edi, edi
jmp 0x100eabdd
mov edx, eax
mov ecx, esi
call fcn.1001f000
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eabee
push eax
call dword [0x10165b90]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret