Function at 0x100e9a40
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.100e0360
mov esi, eax
add esp, 8
test esi, esi
jne 0x100ea95c
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.1004b120
mov eax, edi
cdq
push edx
push eax
push 2
push ebx
call fcn.1004b120
add esp, 0x20
xor edi, edi
test ebx, ebx
jne 0x100e9ad0
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
jmp 0x100e9af0
cmp dword [ebx], edi
jne 0x100e9aea
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
mov eax, 1
jmp 0x100e9aec
xor eax, eax
test eax, eax
je 0x100e9b21
push 0x10156d84
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021490
add esp, 0x14
test ebx, ebx
jne 0x100ea965
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 0x100e9b38
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x100e9d5d
nop word [eax + eax]
mov ecx, edi
inc edi
mov dword [esp + 0x1c], edi
cmp ecx, 0x32
jge 0x100e9d5d
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.100931a0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x100e9c97
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.1004b9c0
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x100e9c5e
mov ecx, esi
call fcn.10046900
mov ecx, esi
call fcn.100469e0
push ebx
call fcn.10048b40
add esp, 4
cmp dword [esp + 0x20], 0
jl 0x100e9c7c
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x100e9d5d
mov edi, dword [esp + 0x1c]
jmp 0x100e9b50
cmp edi, 7
jne 0x100e9ca3
mov ecx, esi
call fcn.1001eb60
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100e9cb5
xor esi, esi
jmp 0x100e9ce8
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e9cd2
cmp byte [ecx + 0x12], 1
jne 0x100e9cd2
mov esi, dword [ecx + 8]
jmp 0x100e9ce4
test dl, 1
je 0x100e9cdb
xor esi, esi
jmp 0x100e9ce4
mov dl, 1
call fcn.10043350
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x100e9cf6
mov ecx, eax
call fcn.1001e3f0
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x100e9da8
test esi, esi
jne 0x100e9d0c
xor eax, eax
jmp 0x100e9d4a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e9d11
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x28], eax
call fcn.1001e890
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100e9d4a
push dword [esp + 0x20]
push esi
push eax
call fcn.1012be10
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001ec40
mov esi, eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9d72
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x64
jne 0x100e9b0e
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9d8e
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100e9db9
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x100e9db9
add ecx, 0x28
jmp 0x100e9dd1
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x100e9d61
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100e9de4
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x14], esi
jmp 0x100e9e21
test al, 8
je 0x100e9df7
movsd xmm0, qword [ecx]
call fcn.10042660
mov dword [esp + 0x14], edx
jmp 0x100e9e21
test al, 0x12
je 0x100e9e0c
cmp dword [ecx + 8], 0
je 0x100e9e0c
call fcn.10042690
mov dword [esp + 0x14], edx
jmp 0x100e9e21
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 0x100e9e38
test edx, edx
jne 0x100e9e38
xor eax, eax
jmp 0x100e9e3d
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9e53
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9e66
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100e9e80
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x100e9e80
add ecx, 0x50
jmp 0x100e9e98
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100e9eab
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x10], esi
jmp 0x100e9ee8
test al, 8
je 0x100e9ebe
movsd xmm0, qword [ecx]
call fcn.10042660
mov dword [esp + 0x10], edx
jmp 0x100e9ee8
test al, 0x12
je 0x100e9ed3
cmp dword [ecx + 8], 0
je 0x100e9ed3
call fcn.10042690
mov dword [esp + 0x10], edx
jmp 0x100e9ee8
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 0x100e9eff
test edx, edx
jne 0x100e9eff
xor eax, eax
jmp 0x100e9f04
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9f1a
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.100e5300
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
test ecx, ecx
jg 0x100e9f50
jl 0x100e9f44
test eax, eax
jae 0x100e9f50
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x100e9f58
mov al, 1
jmp 0x100e9f5a
xor al, al
mov byte [edi + 0x30], al
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100e9f70
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x100e9f8d
cmp si, word [ebx + 0x90]
jae 0x100e9f8d
add ecx, 0xa0
jmp 0x100e9fa5
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100e9fb8
cmp byte [ecx + 0x12], 1
jne 0x100e9fb8
mov eax, dword [ecx + 0xc]
jmp 0x100e9fe7
test al, 0x10
je 0x100e9fd2
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100e9fcc
mov eax, dword [ecx]
add eax, edx
jmp 0x100e9fe7
mov dword [esp + 0xc], edx
jmp 0x100e9feb
test al, 1
je 0x100e9fe0
mov dword [esp + 0xc], 0
jmp 0x100e9feb
mov dl, 1
call fcn.10043a90
mov dword [esp + 0xc], eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100e9ffe
test edx, edx
jne 0x100e9ffe
xor eax, eax
jmp 0x100ea003
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea019
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea02c
push eax
call dword [0x10165b48]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100ea043
cmp si, word [ebx + 0x90]
jae 0x100ea043
add eax, 0xa0
jmp 0x100ea05b
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov eax, 0x10151958
push eax
call fcn.10048ca0
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 0x100ea07d
test edx, edx
jne 0x100ea07d
xor eax, eax
jmp 0x100ea082
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ea098
push eax
call dword [0x10165b50]
add esp, 4
test esi, esi
jne 0x100ea15c
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea0b3
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea0d0
jg 0x100ea0c7
cmp dword [ebx + 0x88], 0
jbe 0x100ea0d0
mov edx, ebx
mov ecx, esi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
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 0x100ea129
test eax, eax
je 0x100ea132
mov edx, eax
mov ecx, esi
call fcn.1001ec40
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea143
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.100e9650
mov esi, eax
add esp, 8
test esi, esi
jne 0x100ea7f3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ea7f3
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.100e1c50
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100ea36b
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 0x100ea20c
cmp byte [esi], 0
je 0x100ea20c
lea ecx, [esi + 1]
lea edx, [esp + 0x50]
call fcn.100d0140
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea214
mov dword [esp + 0x48], 1
test esi, esi
je 0x100ea229
lea ecx, [esp + 0x40]
call fcn.100e8880
mov esi, eax
test esi, esi
jne 0x100ea246
jmp 0x100ea230
xor esi, esi
nop dword [eax + eax]
cmp dword [esp + 0x40], 0
je 0x100ea246
lea ecx, [esp + 0x40]
call fcn.100e8880
mov esi, eax
test esi, esi
je 0x100ea230
mov eax, dword [esp + 0x5c]
mov edx, eax
cmp dword [ebp + 0x14], eax
cmovl edx, dword [ebp + 0x14]
test edx, edx
je 0x100ea2e6
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100ea2e6
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea2e6
mov dword [esp + 0x10], eax
sub edx, 4
jb 0x100ea292
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
jne 0x100ea297
add dword [esp + 0x10], 4
add ecx, 4
sub edx, 4
jae 0x100ea277
cmp edx, 0xfffffffc
je 0x100ea2e6
mov edi, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, byte [edi]
mov edi, dword [ebp + 0x18]
jne 0x100ea2df
cmp edx, 0xfffffffd
je 0x100ea2e6
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 1]
mov ebx, dword [esp + 0x2c]
jne 0x100ea2df
cmp edx, 0xfffffffe
je 0x100ea2e6
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 2]
cmp al, byte [ebx + 2]
mov ebx, dword [esp + 0x2c]
jne 0x100ea2df
cmp edx, 0xffffffff
je 0x100ea2e6
mov al, byte [ecx + 3]
mov ecx, dword [esp + 0x10]
cmp al, byte [ecx + 3]
je 0x100ea2e6
sbb eax, eax
or eax, 1
jmp 0x100ea2e8
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 0x100ea36b
cmp dword [0x10165af8], edx
je 0x100ea361
mov ecx, dword [0x10168b40]
test ecx, ecx
je 0x100ea32b
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 0x100ea370
push eax
call dword [0x10165b50]
jmp 0x100ea368
push eax
call dword [0x10165b1c]
add esp, 4
mov eax, dword [0x10168b40]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x100ea3d2
cmp dword [0x10165af8], 0
je 0x100ea3c8
test eax, eax
je 0x100ea393
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 0x100ea3d2
push eax
call dword [0x10165b50]
jmp 0x100ea3cf
push ecx
call dword [0x10165b1c]
add esp, 4
test esi, esi
jne 0x100ea7f3
cmp dword [esp + 0x1c], esi
je 0x100ea7f3
mov eax, dword [esp + 0x20]
movsx ecx, byte [eax]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x100ea88b
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 0x100ea46f
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 0x100ea450
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 0x100ea4f4
mov eax, dword [ecx + edi + 0x4c]
mov dword [esp + 0x28], eax
call fcn.100cac40
test eax, eax
jne 0x100ea58a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e570
mov edx, eax
add esp, 8
test edx, edx
je 0x100ea58a
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.1012be10
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 0x100ea7f3
add edi, 0x34
add edi, edx
test esi, esi
jne 0x100ea7f3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100ea779
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 0x100ea595
inc ecx
lea edx, [esp + 0x50]
call fcn.100d0140
inc eax
mov dword [esp + 0x48], eax
jmp 0x100ea59d
mov edx, dword [esp + 0x14]
mov esi, 7
jmp 0x100ea527
mov dword [esp + 0x48], 1
lea ecx, [esp + 0x40]
call fcn.100e8880
cmp dword [esp + 0x40], 0
mov esi, eax
je 0x100ea5ca
nop
test esi, esi
jne 0x100ea779
lea ecx, [esp + 0x40]
call fcn.100e8880
cmp dword [esp + 0x40], 0
mov esi, eax
jne 0x100ea5b0
test esi, esi
jne 0x100ea779
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x14]
jle 0x100ea616
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
call fcn.100cac40
test eax, eax
jne 0x100ea761
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e570
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea761
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x100ea62e
push eax
push dword [esp + 0x5c]
push dword [edi + 0xc]
call fcn.1012be10
mov eax, dword [esp + 0x68]
add esp, 0xc
cmp dword [esp + 0x18], 0
mov dword [edi + 0x10], eax
jbe 0x100ea779
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.100e1c50
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 0x100ea707
cmp edx, dword [edi]
jle 0x100ea6dd
mov eax, dword [edi - 8]
mov dword [esp + 0x28], eax
call fcn.100cac40
test eax, eax
jne 0x100ea768
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1001e570
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100ea768
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.1012be10
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 0x100ea779
cmp dword [0x10165af8], 0
je 0x100ea76f
mov ecx, dword [0x10168b40]
test ecx, ecx
je 0x100ea72c
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 0x100ea779
push eax
call dword [0x10165b50]
jmp 0x100ea776
mov esi, 7
jmp 0x100ea779
mov esi, 7
jmp 0x100ea703
push eax
call dword [0x10165b1c]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x100ea7df
cmp dword [0x10165af8], 0
je 0x100ea7d5
mov eax, dword [0x10168b40]
test eax, eax
je 0x100ea79d
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 0x100ea7df
push eax
call dword [0x10165b50]
jmp 0x100ea7dc
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 0x100ea537
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100ea806
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea823
jg 0x100ea81a
cmp dword [ebx + 0x88], 0
jbe 0x100ea823
mov edx, ebx
mov ecx, edi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
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 0x100ea93a
test eax, eax
jne 0x100ea93a
xor ebx, ebx
jmp 0x100ea945
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea89e
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea8bb
jg 0x100ea8b2
cmp dword [ebx + 0x88], 0
jbe 0x100ea8bb
mov edx, ebx
mov ecx, esi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
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 0x100ea914
test eax, eax
je 0x100ea91d
mov edx, eax
mov ecx, esi
call fcn.1001ec40
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ea92e
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.1001ec40
mov ebx, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100ea956
push ecx
call dword [0x10165b50]
add esp, 4
test esi, esi
jne 0x100ea95c
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 0x100ea978
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x100ea995
jg 0x100ea98c
cmp dword [ebx + 0x88], 0
jbe 0x100ea995
mov edx, ebx
mov ecx, esi
call fcn.100489a0
mov ecx, ebx
call fcn.10046900
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 0x100ea9f2
test eax, eax
jne 0x100ea9f2
xor edi, edi
jmp 0x100ea9fd
mov edx, eax
mov ecx, esi
call fcn.1001ec40
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100eaa0e
push eax
call dword [0x10165b50]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret