Function at 0x503d80
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.004fa580
mov esi, eax
add esp, 8
test esi, esi
jne 0x504c9c
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.00467fa0
mov eax, edi
cdq
push edx
push eax
push 2
push ebx
call fcn.00467fa0
add esp, 0x20
xor edi, edi
test ebx, ebx
jne 0x503e10
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.0043e300
add esp, 8
jmp 0x503e30
cmp dword [ebx], edi
jne 0x503e2a
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.0043e300
add esp, 8
mov eax, 1
jmp 0x503e2c
xor eax, eax
test eax, eax
je 0x503e61
push 0x5cacbc
push 0x15841
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.0043e300
add esp, 0x14
test ebx, ebx
jne 0x504ca5
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 0x503e78
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, ebx
call fcn.00466700
mov esi, eax
cmp esi, 0x11
jne 0x50409d
nop word [eax + eax]
mov ecx, edi
inc edi
mov dword [esp + 0x1c], edi
cmp ecx, 0x32
jge 0x50409d
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.004adf50
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x503fd7
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.00468840
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x503f9e
mov ecx, esi
call fcn.00463720
mov ecx, esi
call fcn.00463800
push ebx
call fcn.00465900
add esp, 4
cmp dword [esp + 0x20], 0
jl 0x503fbc
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.00466700
mov esi, eax
cmp esi, 0x11
jne 0x50409d
mov edi, dword [esp + 0x1c]
jmp 0x503e90
cmp edi, 7
jne 0x503fe3
mov ecx, esi
call fcn.0043ba90
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x503ff5
xor esi, esi
jmp 0x504028
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x504012
cmp byte [ecx + 0x12], 1
jne 0x504012
mov esi, dword [ecx + 8]
jmp 0x504024
test dl, 1
je 0x50401b
xor esi, esi
jmp 0x504024
mov dl, 1
call fcn.00460000
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x504036
mov ecx, eax
call fcn.0043b330
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x5040e8
test esi, esi
jne 0x50404c
xor eax, eax
jmp 0x50408a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x504051
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x28], eax
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x50408a
push dword [esp + 0x20]
push esi
push eax
call fcn.00570750
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.0043bb70
mov esi, eax
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5040b2
push eax
call dword [0x5dac88]
add esp, 4
cmp esi, 0x64
jne 0x503e4e
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5040ce
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x5040f9
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x5040f9
add ecx, 0x28
jmp 0x504111
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x5040a1
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x504124
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x14], esi
jmp 0x504161
test al, 8
je 0x504137
movsd xmm0, qword [ecx]
call fcn.0045f320
mov dword [esp + 0x14], edx
jmp 0x504161
test al, 0x12
je 0x50414c
cmp dword [ecx + 8], 0
je 0x50414c
call fcn.0045f350
mov dword [esp + 0x14], edx
jmp 0x504161
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 0x504178
test edx, edx
jne 0x504178
xor eax, eax
jmp 0x50417d
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x504193
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5041a6
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x5041c0
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x5041c0
add ecx, 0x50
jmp 0x5041d8
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x5041eb
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x10], esi
jmp 0x504228
test al, 8
je 0x5041fe
movsd xmm0, qword [ecx]
call fcn.0045f320
mov dword [esp + 0x10], edx
jmp 0x504228
test al, 0x12
je 0x504213
cmp dword [ecx + 8], 0
je 0x504213
call fcn.0045f350
mov dword [esp + 0x10], edx
jmp 0x504228
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 0x50423f
test edx, edx
jne 0x50423f
xor eax, eax
jmp 0x504244
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x50425a
push eax
call dword [0x5dac88]
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.004ff5c0
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
test ecx, ecx
jg 0x504290
jl 0x504284
test eax, eax
jae 0x504290
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x504298
mov al, 1
jmp 0x50429a
xor al, al
mov byte [edi + 0x30], al
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5042b0
push eax
call dword [0x5dac80]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x5042cd
cmp si, word [ebx + 0x90]
jae 0x5042cd
add ecx, 0xa0
jmp 0x5042e5
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov ecx, 0x5b3788
movzx eax, word [ecx + 0x10]
test al, 2
je 0x5042f8
cmp byte [ecx + 0x12], 1
jne 0x5042f8
mov eax, dword [ecx + 0xc]
jmp 0x504327
test al, 0x10
je 0x504312
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x50430c
mov eax, dword [ecx]
add eax, edx
jmp 0x504327
mov dword [esp + 0xc], edx
jmp 0x50432b
test al, 1
je 0x504320
mov dword [esp + 0xc], 0
jmp 0x50432b
mov dl, 1
call fcn.004606b0
mov dword [esp + 0xc], eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x50433e
test edx, edx
jne 0x50433e
xor eax, eax
jmp 0x504343
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x504359
push eax
call dword [0x5dac88]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x50436c
push eax
call dword [0x5dac80]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x504383
cmp si, word [ebx + 0x90]
jae 0x504383
add eax, 0xa0
jmp 0x50439b
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.0043ee60
mov eax, 0x5b3788
push eax
call fcn.00465a70
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 0x5043bd
test edx, edx
jne 0x5043bd
xor eax, eax
jmp 0x5043c2
call fcn.0043bb70
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5043d8
push eax
call dword [0x5dac88]
add esp, 4
test esi, esi
jne 0x50449c
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5043f3
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x504410
jg 0x504407
cmp dword [ebx + 0x88], 0
jbe 0x504410
mov edx, ebx
mov ecx, esi
call fcn.00465760
mov ecx, ebx
call fcn.00463720
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 0x504469
test eax, eax
je 0x504472
mov edx, eax
mov ecx, esi
call fcn.0043bb70
mov eax, dword [esi + 0xc]
test eax, eax
je 0x504483
push eax
call dword [0x5dac88]
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.00503990
mov esi, eax
add esp, 8
test esi, esi
jne 0x504b33
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x504b33
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.004fbe10
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x5046ab
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 0x50454c
cmp byte [esi], 0
je 0x50454c
lea ecx, [esi + 1]
lea edx, [esp + 0x50]
call fcn.004ea4d0
inc eax
mov dword [esp + 0x48], eax
jmp 0x504554
mov dword [esp + 0x48], 1
test esi, esi
je 0x504569
lea ecx, [esp + 0x40]
call fcn.00502bb0
mov esi, eax
test esi, esi
jne 0x504586
jmp 0x504570
xor esi, esi
nop dword [eax + eax]
cmp dword [esp + 0x40], 0
je 0x504586
lea ecx, [esp + 0x40]
call fcn.00502bb0
mov esi, eax
test esi, esi
je 0x504570
mov eax, dword [esp + 0x5c]
mov edx, eax
cmp dword [ebp + 0x14], eax
cmovl edx, dword [ebp + 0x14]
test edx, edx
je 0x504626
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x504626
mov eax, dword [esp + 0x58]
test eax, eax
je 0x504626
mov dword [esp + 0x10], eax
sub edx, 4
jb 0x5045d2
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
jne 0x5045d7
add dword [esp + 0x10], 4
add ecx, 4
sub edx, 4
jae 0x5045b7
cmp edx, 0xfffffffc
je 0x504626
mov edi, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, byte [edi]
mov edi, dword [ebp + 0x18]
jne 0x50461f
cmp edx, 0xfffffffd
je 0x504626
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 1]
mov ebx, dword [esp + 0x2c]
jne 0x50461f
cmp edx, 0xfffffffe
je 0x504626
mov ebx, dword [esp + 0x10]
mov al, byte [ecx + 2]
cmp al, byte [ebx + 2]
mov ebx, dword [esp + 0x2c]
jne 0x50461f
cmp edx, 0xffffffff
je 0x504626
mov al, byte [ecx + 3]
mov ecx, dword [esp + 0x10]
cmp al, byte [ecx + 3]
je 0x504626
sbb eax, eax
or eax, 1
jmp 0x504628
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 0x5046ab
cmp dword [0x5dac30], edx
je 0x5046a1
mov ecx, dword [0x5dfe08]
test ecx, ecx
je 0x50466b
push ecx
call dword [0x5dac80]
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
mov eax, dword [esp + 0x58]
dec dword [0x5dfccc]
push eax
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x5046b0
push eax
call dword [0x5dac88]
jmp 0x5046a8
push eax
call dword [0x5dac54]
add esp, 4
mov eax, dword [0x5dfe08]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x504712
cmp dword [0x5dac30], 0
je 0x504708
test eax, eax
je 0x5046d3
push eax
call dword [0x5dac80]
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push dword [esp + 0x18]
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x504712
push eax
call dword [0x5dac88]
jmp 0x50470f
push ecx
call dword [0x5dac54]
add esp, 4
test esi, esi
jne 0x504b33
cmp dword [esp + 0x1c], esi
je 0x504b33
mov eax, dword [esp + 0x20]
movsx ecx, byte [eax]
mov dword [esp + 0x18], ecx
lea eax, [ecx - 1]
cmp eax, 0xe
ja 0x504bcb
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 0x5047af
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 0x504790
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 0x504834
mov eax, dword [ecx + edi + 0x4c]
mov dword [esp + 0x28], eax
call fcn.004e4f50
test eax, eax
jne 0x5048ca
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.0043b4b0
mov edx, eax
add esp, 8
test edx, edx
je 0x5048ca
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.00570750
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 0x504b33
add edi, 0x34
add edi, edx
test esi, esi
jne 0x504b33
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x504ab9
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 0x5048d5
inc ecx
lea edx, [esp + 0x50]
call fcn.004ea4d0
inc eax
mov dword [esp + 0x48], eax
jmp 0x5048dd
mov edx, dword [esp + 0x14]
mov esi, 7
jmp 0x504867
mov dword [esp + 0x48], 1
lea ecx, [esp + 0x40]
call fcn.00502bb0
cmp dword [esp + 0x40], 0
mov esi, eax
je 0x50490a
nop
test esi, esi
jne 0x504ab9
lea ecx, [esp + 0x40]
call fcn.00502bb0
cmp dword [esp + 0x40], 0
mov esi, eax
jne 0x5048f0
test esi, esi
jne 0x504ab9
mov eax, dword [esp + 0x5c]
cmp eax, dword [edi + 0x14]
jle 0x504956
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], eax
call fcn.004e4f50
test eax, eax
jne 0x504aa1
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.0043b4b0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x504aa1
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x14], eax
mov dword [edi + 0xc], ecx
test eax, eax
jle 0x50496e
push eax
push dword [esp + 0x5c]
push dword [edi + 0xc]
call fcn.00570750
mov eax, dword [esp + 0x68]
add esp, 0xc
cmp dword [esp + 0x18], 0
mov dword [edi + 0x10], eax
jbe 0x504ab9
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.004fbe10
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 0x504a47
cmp edx, dword [edi]
jle 0x504a1d
mov eax, dword [edi - 8]
mov dword [esp + 0x28], eax
call fcn.004e4f50
test eax, eax
jne 0x504aa8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.0043b4b0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x504aa8
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.00570750
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 0x504ab9
cmp dword [0x5dac30], 0
je 0x504aaf
mov ecx, dword [0x5dfe08]
test ecx, ecx
je 0x504a6c
push ecx
call dword [0x5dac80]
mov eax, dword [esp + 0x14]
add esp, 4
push eax
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push dword [esp + 0x10]
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x504ab9
push eax
call dword [0x5dac88]
jmp 0x504ab6
mov esi, 7
jmp 0x504ab9
mov esi, 7
jmp 0x504a43
push eax
call dword [0x5dac54]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x504b1f
cmp dword [0x5dac30], 0
je 0x504b15
mov eax, dword [0x5dfe08]
test eax, eax
je 0x504add
push eax
call dword [0x5dac80]
add esp, 4
push dword [esp + 0x58]
call dword [0x5dac5c]
sub dword [0x5dfca8], eax
add esp, 4
dec dword [0x5dfccc]
push dword [esp + 0x58]
call dword [0x5dac54]
mov eax, dword [0x5dfe08]
add esp, 4
test eax, eax
je 0x504b1f
push eax
call dword [0x5dac88]
jmp 0x504b1c
push eax
call dword [0x5dac54]
add esp, 4
mov eax, dword [esp + 0x18]
sub edi, 0x20
dec eax
mov dword [esp + 0x18], eax
test eax, eax
jns 0x504877
mov edi, dword [ebx]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x504b46
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x504b63
jg 0x504b5a
cmp dword [ebx + 0x88], 0
jbe 0x504b63
mov edx, ebx
mov ecx, edi
call fcn.00465760
mov ecx, ebx
call fcn.00463720
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 0x504c7a
test eax, eax
jne 0x504c7a
xor ebx, ebx
jmp 0x504c85
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x504bde
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x504bfb
jg 0x504bf2
cmp dword [ebx + 0x88], 0
jbe 0x504bfb
mov edx, ebx
mov ecx, esi
call fcn.00465760
mov ecx, ebx
call fcn.00463720
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 0x504c54
test eax, eax
je 0x504c5d
mov edx, eax
mov ecx, esi
call fcn.0043bb70
mov eax, dword [esi + 0xc]
test eax, eax
je 0x504c6e
push eax
call dword [0x5dac88]
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.0043bb70
mov ebx, eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x504c96
push ecx
call dword [0x5dac88]
add esp, 4
test esi, esi
jne 0x504c9c
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 0x504cb8
push eax
call dword [0x5dac80]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x504cd5
jg 0x504ccc
cmp dword [ebx + 0x88], 0
jbe 0x504cd5
mov edx, ebx
mov ecx, esi
call fcn.00465760
mov ecx, ebx
call fcn.00463720
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 0x504d32
test eax, eax
jne 0x504d32
xor edi, edi
jmp 0x504d3d
mov edx, eax
mov ecx, esi
call fcn.0043bb70
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x504d4e
push eax
call dword [0x5dac88]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret