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

Disassembly:
sub esp, 0x90
push ebx
mov ebx, ecx
push ebp
push esi
push edi
mov edi, dword [ebx]
mov esi, edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x58], edi
call fcn.00451ae0
mov ebp, eax
mov dword [esp + 0x78], ebp
test ebp, ebp
je 0x44ebaf
or dword [ebp + 0x98], 0x40
lea eax, [esp + 0x98]
push eax
push dword [esp + 0xa8]
mov edx, esi
mov dword [ebx + 0x2c], 2
mov ecx, ebx
call fcn.00440296
mov dword [esp + 0x30], eax
pop ecx
pop ecx
test eax, eax
js 0x44ebaf
mov ecx, dword [edi + 0x10]
mov edx, eax
shl edx, 4
add ecx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
cmp eax, 1
jne 0x44c6e7
mov ecx, ebx
call fcn.0044407e
test eax, eax
jne 0x44ebaf
mov edx, dword [esp + 0x98]
mov ecx, edi
call fcn.004401fd
mov dword [esp + 0x7c], eax
test eax, eax
je 0x44ebaf
cmp dword [esp + 0xac], 0
je 0x44c728
push dword [esp + 0xa8]
push 0x4e74ec
push edi
call fcn.004145b5
mov esi, eax
add esp, 0xc
mov dword [esp + 0x14], esi
jmp 0x44c73c
mov edx, dword [esp + 0xa8]
mov ecx, edi
call fcn.004401fd
mov esi, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
xor ebx, ebx
cmp dword [eax + 4], ebx
jbe 0x44c756
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
jmp 0x44c75c
mov eax, ebx
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x20]
push eax
push esi
push dword [esp + 0x84]
push 0x13
pop edx
call fcn.0043f8da
add esp, 0xc
test eax, eax
jne 0x44eb93
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x88]
push eax
push 0xe
push dword [esp + 0x4c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], ebx
push edi
mov dword [edi + 0x188], ebx
call fcn.0046aeba
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x44c80d
xor ebx, ebx
mov ecx, ebp
inc ebx
mov edx, ebx
call fcn.0042a722
mov eax, dword [ebp]
cmp byte [eax + 0x51], 0
jne 0x44c7ee
mov edx, dword [esp + 0x88]
or eax, 0xffffffff
mov ecx, dword [ebp + 0x74]
push eax
push ebx
push eax
call fcn.00428abe
add esp, 0xc
mov edx, dword [esp + 0x88]
mov ecx, ebp
call fcn.0044c550
push dword [esp + 0x88]
call fcn.00412a08
jmp 0x44eb92
cmp eax, 0xc
je 0x44c853
cmp dword [esp + 0x88], ebx
je 0x44c840
push dword [esp + 0x88]
push 0x4e436c
push dword [esp + 0x28]
call fcn.00414f88
add esp, 0xc
push dword [esp + 0x88]
call fcn.00412a08
pop ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x44eb93
mov ecx, dword [esp + 0x7c]
call fcn.0044c5c6
mov edx, eax
mov dword [esp + 0x40], edx
test edx, edx
je 0x44eb93
test byte [edx + 5], 1
je 0x44c885
mov ecx, dword [esp + 0x20]
call fcn.0044f6fc
test eax, eax
jne 0x44eb93
mov edx, dword [esp + 0x40]
mov al, byte [edx + 5]
push 2
pop ecx
test cl, al
jne 0x44c8a5
test al, 4
je 0x44c897
test esi, esi
jne 0x44c8a5
mov ecx, ebp
call fcn.0044c4b5
mov edx, dword [esp + 0x40]
push 2
pop ecx
movzx eax, byte [edx + 4]
cmp eax, 0x27
ja case.0x44c8b2.3
jmp dword [eax*4 + 0x44ebba]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
test esi, esi
jne 0x44c8d9
test eax, eax
je 0x44c8d2
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x20]
mov eax, ebx
jmp 0x44eb87
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ebx
mov ecx, esi
call fcn.00415851
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push ebx
push 0xffffffffffffffff
mov dword [edi + 0x5c], edx
call fcn.00421295
pop ecx
pop ecx
cmp eax, 7
jne 0x44eb93
mov ecx, edi
call fcn.00412eb8
jmp 0x44eb93
mov eax, dword [esp + 0x2c]
or edx, 0xffffffff
mov dword [esp + 0x24], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
test esi, esi
je 0x44c954
mov edx, str.fast
mov ecx, esi
call fcn.0041505e
test eax, eax
jne 0x44c93d
push 2
pop edx
jmp 0x44c950
xor edx, edx
mov ecx, esi
push ebx
inc edx
call fcn.0044c318
xor edx, edx
test al, al
pop ecx
setne dl
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0xa4]
cmp dword [eax + 4], ebx
jne 0x44c984
test edx, edx
js 0x44c984
cmp dword [edi + 0x14], ebx
jle 0x44c984
mov esi, ebx
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + esi + 4]
call fcn.00421315
mov edx, dword [esp + 0x24]
lea esi, [esi + 0x10]
inc ebx
cmp ebx, dword [edi + 0x14]
jl 0x44c96b
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
call fcn.00421315
jmp 0x44eb87
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
call fcn.004440fa
mov eax, dword [esp + 0x20]
inc dword [eax + 0x2c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x34], ecx
movzx eax, byte [eax]
cmp byte [eax + 0x4cd270], 0x70
jne 0x44c9d9
push ebx
push ecx
push dword [esp + 0x30]
mov edx, 0xa6
mov ecx, ebp
call fcn.004293f8
mov esi, dword [esp + 0x40]
jmp 0x44ca18
mov eax, ebx
mov dword [esp + 0x18], eax
test esi, esi
je 0x44ca02
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00415851
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x44ca02
cmp eax, 0x80000000
jne 0x44ca00
dec eax
jmp 0x44ca02
neg eax
mov esi, dword [esp + 0x34]
mov edx, 0xa7
push eax
push esi
push dword [esp + 0x30]
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
push ebx
push 1
push esi
push 0x51
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
jmp 0x44eb93
mov ecx, esi
call fcn.0044c388
mov edx, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], edx
cmp dword [eax + 4], ebx
jne 0x44ca81
cmp edx, 0xffffffff
jne 0x44ca55
movzx eax, byte [edi + 0x53]
jmp 0x44ca92
push 2
pop ebx
cmp dword [edi + 0x14], ebx
jle 0x44ca7e
push 0x20
pop esi
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.0041d32c
mov edx, dword [esp + 0x18]
lea esi, [esi + 0x10]
inc ebx
cmp ebx, dword [edi + 0x14]
jl 0x44ca60
mov byte [edi + 0x53], dl
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.0041d32c
cmp eax, 1
mov edx, 0x4e7424
mov ecx, str.exclusive
cmove edx, ecx
mov ecx, ebp
call fcn.0044c550
jmp 0x44eb93
test esi, esi
jne 0x44cab7
or esi, 0xffffffff
jmp 0x44cb28
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44cabc
sub edx, ecx
mov dword [esp + 0x18], ebx
and edx, 0x3fffffff
mov eax, ebx
mov dword [esp + 0x1c], edx
or ecx, 0xffffffff
cmp eax, 6
je 0x44cb06
mov eax, dword [eax*4 + 0x4cc118]
test eax, eax
je 0x44cb06
push edx
push eax
push esi
call fcn.00415089
add esp, 0xc
test eax, eax
je 0x44cb0a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
jmp 0x44cad5
mov esi, ecx
jmp 0x44cb11
mov esi, dword [esp + 0x18]
or ecx, 0xffffffff
cmp esi, 2
jne 0x44cb24
mov eax, dword [edi + 0x20]
and eax, 0x10000000
or eax, ebx
je 0x44cb43
mov esi, ecx
cmp esi, ecx
jne 0x44cb43
mov edx, dword [esp + 0xa4]
cmp dword [edx + 4], ebx
jne 0x44cb4a
mov ecx, ebx
mov dword [edx + 4], 1
mov dword [esp + 0x28], ecx
jmp 0x44cb4e
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0x14]
sub eax, 1
mov dword [esp + 0x24], eax
js 0x44cbbe
shl eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
cmp dword [eax + edi + 4], ebx
mov edi, dword [esp + 0x58]
je 0x44cba1
cmp dword [esp + 0x24], ecx
je 0x44cb7d
cmp dword [edx + 4], ebx
jne 0x44cba1
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 0x9c]
push esi
push 1
push ecx
bts eax, ecx
mov ecx, ebp
push 7
pop edx
mov dword [ebp + 0x9c], eax
call fcn.004293f8
add esp, 0xc
mov ecx, dword [esp + 0x24]
sub dword [esp + 0x18], 0x10
dec ecx
mov edx, dword [esp + 0xa4]
test ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x28]
jns 0x44cb61
xor eax, eax
push ebx
inc eax
push eax
push eax
jmp 0x44ca1f
mov eax, dword [esp + 0x2c]
or ebx, 0xffffffff
mov edx, ebx
push 0xfffffffffffffffe
pop ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
test esi, esi
je 0x44cc20
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00415774
mov edx, dword [esp + 0x64]
cmp edx, ebx
jg 0x44cc18
jl 0x44cc0a
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
jae 0x44cc1c
mov ecx, ebx
mov edx, ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
jmp 0x44cc1c
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x40]
cmp edx, ebx
jl 0x44cc50
jg 0x44cc2a
cmp ecx, ebx
jb 0x44cc50
mov esi, dword [esp + 0x40]
mov dword [eax + 0xa0], ecx
mov eax, dword [esp + 0x64]
mov dword [esi + 0xa4], eax
mov eax, esi
mov esi, dword [eax + 0xd8]
test esi, esi
je 0x44cc50
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0xa4]
push eax
mov dword [esp + 0x68], eax
push ecx
jmp 0x44eb8a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
test esi, esi
jne 0x44cc86
mov ecx, eax
call fcn.00421382
jmp 0x44eb87
mov ecx, esi
call fcn.0044c3b7
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x18], eax
mov byte [edi + 0x54], al
call fcn.0042134b
test eax, eax
jne 0x44eb93
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x44ccb9
cmp eax, 2
jne 0x44eb93
mov esi, dword [ebp + 0x6c]
mov ecx, ebp
push ebx
push 0x4cd380
push 5
pop edx
call fcn.00429829
mov edx, dword [esp + 0x30]
pop ecx
pop ecx
lea ecx, [esi + 4]
mov dword [eax + 4], edx
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x18]
dec ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp + 0x9c]
bts eax, edx
mov dword [ebp + 0x9c], eax
jmp 0x44eb93
test esi, esi
je 0x44cd16
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00415851
test eax, eax
je 0x44cd16
cmp dword [esp + 0x18], ebx
jg 0x44cd1e
mov dword [esp + 0x18], SysReAllocString
mov esi, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [esp + 0x20]
push esi
call fcn.0044417c
pop ecx
push ebx
push 1
push dword [esp + 0x20]
mov ecx, ebp
push 0x46
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
push ebx
push ebx
push esi
push 0x3b
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
mov esi, eax
push ebx
push ebx
push 1
push 0x51
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
push ebx
push 0xffffffffffffffff
push 1
push 0x53
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
push ebx
push esi
push 1
push 0x2f
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, esi
mov ecx, ebp
push dword [ebp + 0x6c]
call fcn.004298c6
jmp 0x44eb92
test esi, esi
jne 0x44cdad
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x44eb87
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ebx
mov ecx, esi
call fcn.00415851
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x50]
call fcn.0042123b
jmp 0x44eb93
test esi, esi
jne 0x44ce0f
mov eax, dword [edi + 0x20]
and eax, 0x20
or eax, ebx
je 0x44c8d2
mov eax, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xd4]
call fcn.00418d2b
mov ebx, eax
jmp 0x44c8d2
xor ebx, ebx
lea edx, [esp + 0x18]
inc ebx
mov ecx, esi
mov dword [esp + 0x18], ebx
call fcn.00415851
test eax, eax
je 0x44ce40
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xd4]
call fcn.00418d2b
cmp dword [esp + 0x18], 0
mov edx, ebx
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.0044c318
mov edx, dword [edi + 0x24]
pop ecx
mov ecx, dword [edi + 0x20]
test al, al
je 0x44ce65
or ecx, 0x20
jmp 0x44ce68
and ecx, 0xffffffdf
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
mov ecx, edi
call fcn.0044c576
jmp 0x44eb93
test esi, esi
je 0x44cf2e
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00415774
mov eax, dword [esp + 0x64]
cmp eax, ebx
jg 0x44ceb4
jl 0x44ce9f
mov edx, dword [esp + 0x60]
cmp edx, ebx
jae 0x44ceb8
mov edx, dword [0x524a20]
mov eax, dword [0x524a24]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
jmp 0x44ceb8
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 4], ebx
jne 0x44ceca
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], eax
mov esi, dword [edi + 0x14]
sub esi, 1
js 0x44cf2e
mov ebp, dword [esp + 0x28]
mov eax, esi
shl eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [eax + edi + 4]
mov edi, dword [esp + 0x58]
test eax, eax
je 0x44cf20
cmp esi, ebp
je 0x44cefb
cmp dword [ecx + 4], ebx
jne 0x44cf20
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ecx + 0x80], edx
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x84], eax
call fcn.0041b4e0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0xa4]
sub dword [esp + 0x18], 0x10
sub esi, 1
jns 0x44cedf
mov ebp, dword [esp + 0x78]
or eax, 0xffffffff
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push eax
push 0x12
push dword [esp + 0x4c]
push edi
call fcn.0046aeba
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x44cf60
push dword [esp + 0x64]
push dword [esp + 0x64]
jmp 0x44eb8a
mov ebx, dword [esp + 0x14]
cmp ecx, 0xc
je 0x44eb97
mov eax, dword [esp + 0x20]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x44eb97
test esi, esi
jne 0x44cf89
movzx eax, byte [edi + 0x50]
jmp 0x44eb87
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.0044c44d
jmp 0x44eb93
test esi, esi
jne 0x44cfa8
mov edx, dword [0x5285f0]
jmp 0x44caa2
cmp byte [esi], bl
je 0x44cfda
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x44cfc7
cmp dword [esp + 0x1c], ebx
jne 0x44cfda
push str.not_a_writable_directory
push dword [esp + 0x24]
call fcn.00414f88
jmp 0x44eb91
cmp byte [edi + 0x50], 1
ja 0x44cfe9
mov ecx, dword [esp + 0x20]
call fcn.0044c409
push dword [0x5285f0]
call fcn.00412a08
pop ecx
cmp byte [esi], bl
je 0x44d00e
push esi
push 0x4e436c
call fcn.00414625
mov dword [0x5285f0], eax
jmp 0x44eb91
mov dword [0x5285f0], ebx
jmp 0x44eb93
test esi, esi
jne 0x44d028
mov edx, dword [0x5285ec]
jmp 0x44caa2
cmp byte [esi], bl
je 0x44d047
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x44cfc7
cmp dword [esp + 0x1c], ebx
je 0x44cfc7
push dword [0x5285ec]
call fcn.00412a08
pop ecx
cmp byte [esi], bl
je 0x44d06c
push esi
push 0x4e436c
call fcn.00414625
mov dword [0x5285ec], eax
jmp 0x44eb91
mov dword [0x5285ec], ebx
jmp 0x44eb93
test esi, esi
jne 0x44d08e
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 8]
cdq
sub eax, 1
sbb edx, ebx
jmp 0x44eb88
cmp byte [edi + 0x4f], bl
jne 0x44d09d
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x44cfcc
xor ebx, ebx
inc ebx
cmp dword [esp + 0x28], ebx
je 0x44eb93
push ebx
xor edx, edx
mov ecx, esi
call fcn.0044c318
inc eax
pop ecx
mov ecx, dword [esp + 0x2c]
and eax, 7
cmove eax, ebx
mov byte [ecx + 8], al
mov byte [ecx + 9], bl
jmp 0x44ce6e
test esi, esi
jne 0x44d106
mov ecx, ebp
call fcn.0044c4b5
mov edx, dword [esp + 0x40]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [edx + 8]
and eax, dword [edx + 0xc]
or ecx, eax
je 0x44d0ef
xor eax, eax
inc eax
jmp 0x44d100
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push ebx
jmp 0x44eb89
mov ecx, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], eax
cmp byte [edi + 0x4f], bl
jne 0x44d127
and ecx, 0xffffbfff
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], ecx
xor edx, edx
mov ecx, esi
push ebx
inc edx
call fcn.0044c318
mov edx, dword [edi + 0x24]
mov dword [esp + 0x50], edx
pop ecx
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x1c], ecx
test al, al
je 0x44d157
or ecx, dword [esp + 0x18]
mov eax, edx
or eax, dword [esp + 0x34]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], eax
jmp 0x44d18d
mov edx, dword [esp + 0x34]
mov eax, edx
mov ecx, dword [esp + 0x18]
not eax
and eax, dword [esp + 0x4c]
not ecx
and ecx, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0x80000
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], eax
jne 0x44d18d
cmp edx, ebx
jne 0x44d18d
mov dword [edi + 0x1c8], ebx
mov dword [edi + 0x1cc], ebx
push ebx
push ebx
push ebx
mov edx, 0x9e
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
jmp 0x44ce6e
test esi, esi
je 0x44eb93
push dword [esp + 0x44]
mov edx, ecx
push esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0043fc76
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x44eb93
mov edx, 0xfff0bdc0
cmp dword [ecx + 0x48], ebx
je 0x44d1fa
mov eax, dword [edi + 0x10]
mov edx, ebx
mov ebp, dword [ecx + 0x48]
add eax, 0xc
cmp dword [eax], ebp
mov ebp, dword [esp + 0x78]
je 0x44d1fa
mov ebp, dword [ecx + 0x48]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ebp
jne 0x44d1ee
mov ebp, dword [esp + 0x78]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x44d21d
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x44d219
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x44d209
mov dword [esp + 0x3c], ecx
mov ecx, esi
mov dword [esi + 0x2c], 7
call fcn.004440fa
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.00441d7d
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x44], ebx
mov edx, dword [eax + 4]
movzx eax, word [eax + 0x2a]
mov dword [esp + 0x30], edx
cmp cx, ax
jge 0x44eb93
mov edi, dword [esp + 0x40]
inc ecx
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov al, byte [edx + 0xf]
mov byte [esp + 0x3b], al
movzx eax, al
shr eax, 1
and eax, ecx
mov dword [esp + 0x50], eax
je 0x44d28d
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
jne 0x44d28d
mov eax, dword [esp + 0x4c]
inc dword [esp + 0x18]
movzx eax, ax
jmp 0x44d381
test byte [esp + 0x3b], cl
jne 0x44d299
mov dword [esp + 0x24], ebx
jmp 0x44d2d9
test esi, esi
jne 0x44d2a3
mov dword [esp + 0x24], ecx
jmp 0x44d2d9
mov eax, dword [esp + 0x4c]
mov edx, ecx
cwde
mov dword [esp + 0x24], edx
cmp eax, ecx
jl 0x44d2d5
mov ebp, dword [esi + 4]
mov esi, eax
mov ebx, dword [esp + 0x44]
movsx eax, word [ebp]
cmp eax, ebx
je 0x44d2cb
inc edx
add ebp, 2
cmp edx, esi
jle 0x44d2bb
mov ebp, dword [esp + 0x78]
xor ebx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
test eax, eax
je 0x44d2e9
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
jmp 0x44d2ed
mov dword [esp + 0x4c], ebx
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
mov dword [esp + 0x54], str.issisii
jne 0x44d305
mov dword [esp + 0x54], str.issisi
test byte [esp + 0x3b], 4
mov eax, dword [edx]
mov dword [esp + 0x5c], eax
jne 0x44d31c
mov dword [esp + 0x48], 0x4e36f8
jmp 0x44d33f
mov edx, eax
lea eax, [edx + 1]
mov dword [esp + 0x1c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x44d325
mov eax, dword [esp + 0x5c]
sub edx, dword [esp + 0x1c]
inc eax
add eax, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], eax
push dword [esp + 0x50]
xor eax, eax
push dword [esp + 0x28]
cmp byte [edx + 0xc], al
push dword [esp + 0x54]
setne al
push eax
push dword [esp + 0x58]
mov eax, dword [edx]
push eax
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0x30]
push eax
push dword [esp + 0x70]
push ecx
push ebp
call fcn.004294b2
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov edx, dword [esp + 0x58]
add esp, 0x28
inc ecx
movzx eax, word [eax + 0x2a]
inc dword [esp + 0x44]
add edx, 0x10
movzx esi, ax
cwde
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
cmp dword [esp + 0x44], eax
jl 0x44d261
mov edi, dword [esp + 0x58]
jmp 0x44eb93
test esi, esi
je 0x44eb93
push dword [esp + 0x44]
mov edx, esi
mov ecx, edi
call fcn.0043fdd9
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x44d41f
push dword [esp + 0x44]
push esi
mov esi, dword [esp + 0x28]
mov ecx, esi
push 2
pop edx
call fcn.0043fc76
pop ecx
pop ecx
test eax, eax
je 0x44eb93
test byte [eax + 0x24], 0x20
je 0x44eb93
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x44eb93
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x44d411
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x44d401
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x44eb93
jmp 0x44d423
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], 0xfff0bdc0
cmp dword [ecx + 0x18], ebx
je 0x44d45a
mov eax, dword [edi + 0x10]
mov edx, ebx
mov ebp, dword [ecx + 0x18]
add eax, 0xc
mov dword [esp + 0x18], edx
cmp dword [eax], ebp
mov ebp, dword [esp + 0x78]
je 0x44d45a
mov esi, dword [ecx + 0x18]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], esi
jne 0x44d44a
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
je 0x44d46e
movzx edx, word [ecx + 0x34]
push 6
jmp 0x44d474
movzx edx, word [ecx + 0x32]
push 3
pop eax
movzx edx, dx
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 0xc]
mov ecx, esi
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.004440fa
mov edx, ebx
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x34], edx
jbe 0x44eb93
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x5c], ecx
test ax, ax
jns 0x44d4c0
mov eax, ebx
jmp 0x44d4d0
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push edx
push str.iisX
push 1
push ebp
call fcn.004294b2
mov eax, dword [edi + 8]
add esp, 0x18
or eax, dword [edi + 0xc]
je 0x44d51f
mov edx, dword [esp + 0x24]
xor ecx, ecx
movzx eax, word [edx + 0x32]
cmp dword [esp + 0x3c], eax
mov eax, dword [edx + 0x20]
setl cl
push ecx
mov ecx, dword [esp + 0x40]
push dword [eax + ecx*4]
mov eax, dword [edx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push str.isiX
push 4
push ebp
call fcn.004294b2
add esp, 0x18
push ebx
push dword [esi + 0x2c]
mov ecx, ebp
push 1
push 0x51
pop edx
call fcn.004293f8
mov edx, dword [esp + 0x48]
add esp, 0xc
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x34]
jl 0x44d4a5
jmp 0x44d3a2
test esi, esi
je 0x44eb93
push dword [esp + 0x44]
mov edx, esi
mov ecx, edi
call fcn.0043fbe3
mov esi, eax
pop ecx
test esi, esi
je 0x44eb93
mov ecx, dword [esi + 0x48]
mov edx, 0xfff0bdc0
test ecx, ecx
je 0x44d588
mov eax, dword [edi + 0x10]
mov edx, ebx
add eax, 0xc
jmp 0x44d584
inc edx
lea eax, [eax + 0x10]
cmp dword [eax], ecx
jne 0x44d580
mov eax, dword [esp + 0x20]
mov ecx, eax
mov dword [eax + 0x2c], 5
call fcn.004440fa
mov esi, dword [esi + 8]
test esi, esi
je 0x44eb93
push 3
mov dword [esp + 0x64], 0x4e756c
mov edi, ebx
mov dword [esp + 0x68], 0x4e7570
mov dword [esp + 0x6c], 0x4e6f5c
pop ecx
xor eax, eax
cmp dword [esi + 0x24], ebx
setne al
push eax
mov eax, dword [esi + 0x38]
and eax, ecx
push dword [esp + eax*4 + 0x64]
xor eax, eax
cmp byte [esi + 0x36], al
setne al
push eax
push dword [esi]
push edi
push str.isisi
push 1
push ebp
call fcn.004294b2
mov esi, dword [esi + 0x14]
add esp, 0x20
inc edi
push 3
pop ecx
test esi, esi
jne 0x44d5c2
jmp 0x44d3a2
mov eax, dword [esp + 0x20]
mov dword [eax + 0x2c], 3
cmp dword [edi + 0x14], ebx
jle 0x44eb93
mov esi, ebx
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + esi + 4]
test ecx, ecx
je 0x44d63e
call fcn.00427606
push eax
mov eax, dword [edi + 0x10]
push dword [eax + esi]
push ebx
push 0x4e757c
push 1
push ebp
call fcn.004294b2
add esp, 0x18
inc ebx
add esi, 0x10
cmp ebx, dword [edi + 0x14]
jl 0x44d616
jmp 0x44eb93
mov eax, dword [esp + 0x20]
mov dword [eax + 0x2c], ecx
mov esi, dword [edi + 0x178]
jmp 0x44d674
mov eax, dword [esi + 8]
push dword [eax]
push ebx
push 0x4e7580
push 1
push ebp
call fcn.004294b2
mov esi, dword [esi]
add esp, 0x14
inc ebx
test esi, esi
jne 0x44d65b
jmp 0x44eb93
mov eax, dword [esp + 0x20]
xor ebx, ebx
inc ebx
mov dword [eax + 0x2c], ecx
mov eax, 0x5287d0
mov dword [esp + 0x18], eax
mov esi, dword [eax]
test esi, esi
je 0x44d6bd
test dword [esi + 4], 0x40000
jne 0x44d6b2
push ebx
push dword [esi + 0x20]
push 0x4e7584
push ebx
push ebp
call fcn.004294b2
add esp, 0x14
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x44d696
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
cmp eax, 0x52882c
jl 0x44d690
mov esi, dword [edi + 0x168]
push 0
pop ebx
jmp 0x44d6ef
mov eax, dword [esi + 8]
push ebx
push dword [eax + 0x20]
push 0x4e7584
push 1
push ebp
call fcn.004294b2
mov esi, dword [esi]
add esp, 0x14
test esi, esi
jne 0x44d6d6
jmp 0x44eb93
mov eax, dword [esp + 0x20]
mov dword [eax + 0x2c], 1
mov esi, dword [edi + 0x14c]
jmp 0x44d723
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x4e7588
push 1
push ebp
call fcn.004294b2
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x44d70b
jmp 0x44eb93
mov esi, 0x4cd6b0
push dword [esi]
push 0x4e7588
push 1
push ebp
call fcn.004294b2
add esi, 0x10
add esp, 0x10
cmp esi, str.0123456789ABCDEF
jl 0x44d731
jmp 0x44eb93
test esi, esi
je 0x44eb93
push dword [esp + 0x44]
mov edx, esi
mov ecx, edi
call fcn.0043fbe3
mov dword [esp + 0x20], eax
pop ecx
test eax, eax
je 0x44eb93
mov esi, dword [eax + 0x10]
test esi, esi
je 0x44eb93
mov ecx, dword [eax + 0x48]
mov edx, 0xfff0bdc0
test ecx, ecx
je 0x44d79e
mov eax, dword [edi + 0x10]
mov edx, ebx
add eax, 0xc
jmp 0x44d79a
inc edx
lea eax, [eax + 0x10]
cmp dword [eax], ecx
jne 0x44d796
mov eax, dword [esp + 0x20]
mov ecx, eax
mov dword [esp + 0x18], ebx
mov dword [eax + 0x2c], 8
call fcn.004440fa
mov edi, dword [esp + 0x1c]
mov eax, ebx
mov edx, ebx
mov dword [esp + 0x34], edx
cmp dword [esi + 0x14], ebx
jle 0x44d885
lea ebx, [esi + 0x24]
movzx eax, byte [esi + 0x19]
sub eax, 7
je 0x44d800
sub eax, 1
je 0x44d7f9
sub eax, 1
je 0x44d7f2
sub eax, 1
je 0x44d7eb
mov ecx, str.NO_ACTION
jmp 0x44d805
mov ecx, str.CASCADE
jmp 0x44d805
mov ecx, str.SET_DEFAULT
jmp 0x44d805
mov ecx, str.SET_NULL
jmp 0x44d805
mov ecx, str.RESTRICT
movzx eax, byte [esi + 0x1a]
sub eax, 7
je 0x44d839
sub eax, 1
je 0x44d832
sub eax, 1
je 0x44d82b
sub eax, 1
je 0x44d824
mov eax, str.NO_ACTION
jmp 0x44d83e
mov eax, str.CASCADE
jmp 0x44d83e
mov eax, str.SET_DEFAULT
jmp 0x44d83e
mov eax, str.SET_NULL
jmp 0x44d83e
mov eax, str.RESTRICT
push 0x4e758c
push ecx
mov ecx, dword [ebx]
push eax
push dword [ebx + 4]
mov eax, dword [edi + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [esi + 8]
push edx
push dword [esp + 0x34]
push str.iissssss
push 1
push ebp
call fcn.004294b2
mov edx, dword [esp + 0x60]
add esp, 0x2c
inc edx
add ebx, 8
mov dword [esp + 0x34], edx
cmp edx, dword [esi + 0x14]
jl 0x44d7cc
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov esi, dword [esi + 4]
inc eax
mov dword [esp + 0x18], eax
test esi, esi
jne 0x44d7ba
jmp 0x44d3a2
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [esp + 0x28], eax
inc eax
mov dword [ecx + 0x2c], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + edx + 0xc]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x44eb93
test esi, esi
je 0x44d8e7
push dword [esp + 0x44]
xor edx, edx
push esi
call fcn.0043fc76
pop ecx
pop ecx
mov ecx, dword [esp + 0x20]
mov edx, ebx
mov dword [esp + 0x50], ebx
jmp 0x44d8f0
mov eax, dword [edx + 8]
mov edx, dword [edx]
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], eax
test eax, eax
je 0x44dcc7
cmp dword [eax + 0x10], ebx
je 0x44dcc7
mov esi, dword [eax + 0x48]
mov edx, 0xfff0bdc0
mov dword [esp + 0x2c], edx
test esi, esi
je 0x44d931
mov eax, dword [edi + 0x10]
mov edx, ebx
add eax, 0xc
mov dword [esp + 0x2c], edx
cmp dword [eax], esi
je 0x44d931
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], esi
jne 0x44d925
mov dword [esp + 0x2c], edx
call fcn.004440fa
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
inc ecx
movsx eax, word [esi + 0x2a]
add ecx, eax
mov eax, dword [esp + 0x20]
cmp ecx, dword [eax + 0x2c]
jle 0x44d951
mov dword [eax + 0x2c], ecx
push 0x61
push esi
push dword [esp + 0x34]
xor edx, edx
mov ecx, eax
call fcn.004490ab
mov esi, dword [esi]
add esp, 0xc
mov ecx, ebp
push ebx
push dword [esp + 0x38]
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push esi
call fcn.00429ab9
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
xor ecx, ecx
mov eax, dword [eax + 0x10]
inc ecx
jmp 0x44da23
push dword [esp + 0x44]
mov edx, dword [eax + 8]
mov ecx, edi
call fcn.0043fbe3
mov dword [esp + 0x20], eax
pop ecx
test eax, eax
je 0x44da17
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x30]
push ebx
push ecx
push dword [esp + 0x20]
mov edx, eax
mov dword [esp + 0x3c], ebx
mov ecx, esi
call fcn.00447a6c
add esp, 0xc
test eax, eax
jne 0x44eb93
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x44d9f4
mov edx, dword [esp + 0x24]
mov ecx, esi
push 0x61
push dword [esp + 0x20]
push dword [esp + 0x34]
call fcn.004490ab
add esp, 0xc
jmp 0x44da17
push dword [esp + 0x2c]
mov ecx, ebp
push dword [eax + 0x2c]
push dword [esp + 0x2c]
push 0x61
pop edx
call fcn.004293f8
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, esi
call fcn.00429b5a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
inc ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
test eax, eax
jne 0x44d995
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x28], ecx
jge 0x44da3f
mov dword [esi + 0x28], ecx
push ebx
push ebx
push ebx
push 0x24
pop edx
mov ecx, ebp
call fcn.004293f8
mov dword [esp + 0x80], eax
add esp, 0xc
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 1
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x44dc9b
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
push dword [esp + 0x44]
mov edx, dword [eax + 8]
mov ecx, edi
call fcn.0043fbe3
mov dword [esp + 0x60], eax
mov edx, ebx
mov dword [esp + 0x34], edx
pop ecx
mov ecx, ebx
mov dword [esp + 0x54], ecx
test eax, eax
je 0x44dace
lea ecx, [esp + 0x54]
mov edx, eax
push ecx
lea ecx, [esp + 0x34]
push ecx
push dword [esp + 0x34]
mov ecx, esi
call fcn.00447a6c
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x54]
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
mov ebp, dword [eax + 0x14]
test ebp, ebp
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x78]
jle 0x44db6b
mov esi, dword [esp + 0x28]
lea edx, [eax + 0x24]
mov edi, dword [esp + 0x40]
inc esi
mov dword [esp + 0x4c], edx
test ecx, ecx
je 0x44db0a
mov eax, dword [esp + 0x18]
lea edx, [ecx + eax*4]
push esi
push dword [edx]
mov edx, edi
mov ecx, ebp
push ebx
call fcn.0043a0c0
add esp, 0xc
mov ecx, ebp
push ebx
push dword [esp + 0x28]
push esi
push 0x32
pop edx
call fcn.004293f8
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, dword [esp + 0x2c]
add edx, 8
inc esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x4c], edx
mov esi, dword [eax + 0x14]
mov dword [esp + 0x48], esi
cmp ecx, esi
jge 0x44db5f
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x1c]
jmp 0x44daff
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x20]
test edx, edx
je 0x44dbd7
mov ecx, edi
call fcn.00449110
mov ecx, dword [esp + 0x28]
mov esi, eax
mov eax, dword [esp + 0x2c]
push ecx
push dword [eax + 0x14]
lea eax, [ecx + 1]
mov ecx, ebp
push eax
push 0x5c
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push dword [esp + 0x48]
push esi
call fcn.00429ab9
push dword [esp + 0x30]
mov ecx, ebp
push dword [esp + 0x30]
push dword [esp + 0x4c]
push 0x1d
pop edx
call fcn.004293f8
mov ecx, dword [ebp]
add esp, 0x14
mov esi, dword [esp + 0x20]
cmp byte [ecx + 0x51], bl
jne 0x44dc0e
imul eax, eax, 0x14
add eax, dword [ebp + 0x68]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ebx
jmp 0x44dc0e
cmp dword [esp + 0x5c], ebx
je 0x44dc0e
mov eax, dword [esp + 0x28]
mov ecx, ebp
inc eax
push eax
mov eax, dword [ebp + 0x6c]
add eax, 2
push eax
push dword [esp + 0x44]
push 0x1e
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
push ebx
push dword [esp + 0x28]
push ebx
push 0xb
pop edx
call fcn.004293f8
add esp, 0xc
mov eax, dword [esp + 0x40]
mov edx, 0x80
push ebx
push dword [esp + 0x88]
mov ecx, ebp
test byte [eax + 0x24], 0x20
push ebx
push 0x49
pop eax
cmovne edx, eax
call fcn.004293f8
mov eax, dword [esp + 0x48]
add esp, 0xc
dec eax
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 8]
push 0x4e75a0
push dword [esp + 0x8c]
push ebp
call fcn.004294b2
add esp, 0x14
mov ecx, ebp
push ebx
push 4
push dword [esp + 0x3c]
push 0x51
pop edx
call fcn.004293f8
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, ebp
call fcn.004296f7
mov edx, dword [esp + 0x54]
test edx, edx
je 0x44dc84
mov ecx, edi
call fcn.00412a50
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x44da89
mov esi, dword [esp + 0x74]
mov ecx, ebp
push ebx
lea eax, [esi + 1]
push eax
push ebx
push 5
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, esi
mov ecx, ebp
push dword [ebp + 0x6c]
call fcn.004298c6
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
pop ecx
test edx, edx
je 0x44eb93
mov ecx, dword [esp + 0x20]
jmp 0x44d8c9
test esi, esi
je 0x44eb93
xor edx, edx
mov ecx, esi
push ebx
inc edx
call fcn.0044c318
xor edx, edx
test al, al
pop ecx
setne dl
mov ecx, edi
call fcn.004479e8
jmp 0x44eb93
mov eax, dword [esp + 0x7c]
or ecx, 0xffffffff
push 0x64
movzx eax, byte [eax]
mov al, byte [eax + 0x4cd270]
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0xa8]
cmp dword [eax], ebx
mov eax, dword [esp + 0x2c]
cmove eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 0x2c], 6
pop eax
mov dword [esp + 0x18], eax
test esi, esi
je 0x44dd58
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00415851
mov eax, dword [esp + 0x18]
test eax, eax
push 0x64
pop ecx
cmovle eax, ecx
mov dword [esp + 0x18], eax
push ebx
push 1
dec eax
mov ecx, ebp
push eax
push 0x46
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x34], ecx
cmp dword [edi + 0x14], ebx
jle 0x44e666
mov eax, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebx
test eax, eax
js 0x44dd93
cmp ecx, eax
jne 0x44e651
mov esi, dword [esp + 0x20]
mov edx, ecx
mov ecx, esi
call fcn.004440fa
mov eax, dword [edi + 0x10]
mov edx, ebx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], eax
test eax, eax
je 0x44ddfd
mov ebp, eax
mov esi, edx
mov ecx, dword [ebp + 8]
lea eax, [edx + 1]
test byte [ecx + 0x24], 0x20
mov ecx, dword [ecx + 8]
cmovne eax, edx
mov edx, eax
mov eax, ebx
jmp 0x44dddb
mov ecx, dword [ecx + 0x14]
inc edx
inc eax
test ecx, ecx
jne 0x44ddd6
mov ebp, dword [ebp]
cmp eax, esi
cmovle eax, esi
mov esi, eax
test ebp, ebp
jne 0x44ddc0
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
lea eax, [edx*4 + 4]
mov ecx, edi
push ebx
push eax
call fcn.00412c70
mov dword [esp + 0x50], eax
pop ecx
pop ecx
test eax, eax
je 0x44e666
mov edi, dword [esp + 0x50]
mov edx, ebx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x44de5b
mov esi, eax
mov ecx, dword [edi + 8]
test byte [ecx + 0x24], 0x20
jne 0x44de3a
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [esi + edx*4], eax
mov ecx, dword [ecx + 8]
jmp 0x44de49
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [esi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x44de3f
mov edi, dword [edi]
test edi, edi
jne 0x44de2a
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
mov dword [eax], edx
add ecx, 8
mov eax, dword [esi + 0x2c]
cmp eax, ecx
push 1
push edx
cmovle eax, ecx
mov byte [esi + 0x13], bl
push 2
mov edx, 0x92
mov dword [esi + 0x2c], eax
mov ecx, ebp
mov dword [esi + 0x1c], ebx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff1
push dword [esp + 0x4c]
call fcn.00429ab9
mov eax, dword [ebp + 0x6c]
pop ecx
pop ecx
test eax, eax
jle 0x44deb3
mov ecx, dword [esp + 0x34]
movzx edx, cl
imul ecx, eax, 0x14
mov eax, dword [ebp + 0x68]
mov word [ecx + eax - 0x12], dx
push ebx
push ebx
push 2
push 0x32
pop edx
mov ecx, ebp
call fcn.004293f8
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [eax + 0x10]
push dword [edx + ecx]
push str._in_database__s__n
push eax
call fcn.004145b5
add esp, 0xc
mov ecx, ebp
mov esi, eax
push ebx
push 3
pop edx
push edx
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff9
push esi
call fcn.00429ab9
push 3
pop esi
push esi
push esi
push 2
push 0x6c
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0x14
mov ecx, ebp
call fcn.0044c61b
push dword [ebp + 0x6c]
mov edx, edi
mov ecx, ebp
call fcn.004298c6
mov eax, dword [esp + 0x54]
pop ecx
mov esi, dword [eax + 0x10]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x44e641
mov esi, dword [esi + 8]
or dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x30], esi
mov dword [esp + 0x5c], ebx
cmp dword [esi + 0x1c], 1
jl 0x44e636
test byte [esi + 0x24], 0x20
jne 0x44df64
mov dword [esp + 0x2c], ebx
jmp 0x44df83
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x44df83
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x44df7f
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x44df6f
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x48]
mov edx, esi
push eax
push ebx
push 1
push ebx
push 0x61
mov ecx, edi
call fcn.0044b20a
push ebx
push 7
push ebx
push 0x46
pop edx
mov ecx, ebp
call fcn.004293f8
mov eax, dword [esi + 8]
add esp, 0x24
mov dword [esp + 0x74], eax
test eax, eax
je 0x44dfe1
push 8
pop esi
mov edi, eax
push ebx
push esi
push ebx
push 0x46
pop edx
mov ecx, ebp
call fcn.004293f8
mov edi, dword [edi + 0x14]
add esp, 0xc
inc esi
test edi, edi
jne 0x44dfc1
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
push ebx
push ebx
push dword [esp + 0x4c]
mov ecx, ebp
push 0x24
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
push ebx
push 1
push 7
push 0x53
pop edx
call fcn.004293f8
add esp, 0xc
mov dword [esp + 0x60], eax
cmp byte [esp + 0x3b], 0x71
je 0x44e041
movsx ecx, word [esi + 0x2a]
push 3
dec ecx
push ecx
push dword [esp + 0x4c]
mov ecx, ebp
push 0x5a
pop edx
call fcn.004293f8
mov eax, dword [ebp + 0x6c]
add esp, 0xc
test eax, eax
jle 0x44e041
imul ecx, eax, 0x14
mov edx, 0x80
mov eax, dword [ebp + 0x68]
mov word [ecx + eax - 0x12], dx
xor eax, eax
mov ecx, ebx
mov dword [esp + 0x50], ecx
cmp ax, word [esi + 0x2a]
jge 0x44e125
mov edx, ebx
mov dword [esp + 0x48], ebx
movsx eax, word [esi + 0x28]
cmp ecx, eax
je 0x44e109
mov eax, dword [esi + 4]
cmp byte [edx + eax + 0xc], bl
je 0x44e109
push 3
pop edi
push edi
push ecx
push dword [esp + 0x4c]
mov edx, esi
mov ecx, ebp
call fcn.0043a0c0
mov eax, dword [ebp + 0x6c]
add esp, 0xc
test eax, eax
jle 0x44e09c
imul ecx, eax, 0x14
lea edx, [edi + 0x7d]
mov eax, dword [ebp + 0x68]
mov word [ecx + eax - 0x12], dx
push ebx
push ebx
push edi
push 0x33
pop edx
mov ecx, ebp
call fcn.004293f8
mov ecx, dword [esi + 4]
add esp, 0xc
mov edi, eax
mov eax, dword [esp + 0x48]
push dword [eax + ecx]
push dword [esi]
push str.NULL_value_in__s._s
push dword [esp + 0x64]
call fcn.004145b5
push ebx
push 3
push ebx
push 0x71
pop edx
mov ecx, ebp
mov esi, eax
call fcn.004293f8
add esp, 0x1c
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff9
push esi
call fcn.00429ab9
mov ecx, ebp
call fcn.0044c61b
push dword [ebp + 0x6c]
mov edx, edi
mov ecx, ebp
call fcn.004298c6
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
movsx eax, word [esi + 0x2a]
inc ecx
add edx, 0x10
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], edx
cmp ecx, eax
jl 0x44e059
mov edi, dword [esp + 0x20]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e22d
mov esi, dword [esp + 0x58]
mov eax, dword [esi + 0x20]
and eax, 0x200
or eax, ebx
jne 0x44e229
push ebx
mov ecx, esi
call fcn.00438147
mov edx, eax
pop ecx
mov dword [esp + 0x54], edx
cmp byte [esi + 0x51], bl
jne 0x44e21e
mov ecx, dword [edi + 0x38]
dec ecx
mov dword [esp + 0x50], ecx
lea eax, [ecx - 1]
mov dword [esp + 0x48], eax
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x44]
inc eax
mov dword [edi + 0x34], eax
mov eax, dword [edx]
dec eax
mov dword [esp + 0x74], eax
test eax, eax
jle 0x44e1b2
mov ebp, dword [esp + 0x74]
lea esi, [edx + 4]
imul eax, eax, 0x18
add esi, eax
push ebx
push ecx
push dword [esi]
push edi
call fcn.0043b6df
mov ecx, dword [esp + 0x60]
lea esi, [esi - 0x18]
add esp, 0x10
dec ebp
test ebp, ebp
jg 0x44e18d
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push 0x10
push dword [esp + 0x4c]
push dword [edx + 4]
push edi
call fcn.0043b402
mov edx, dword [esp + 0x60]
mov ecx, ebp
call fcn.004296f7
mov eax, dword [esp + 0x40]
mov dword [edi + 0x34], ebx
push dword [eax]
push str.CHECK_constraint_failed_in__s
push esi
call fcn.004145b5
add esp, 0x1c
mov ecx, ebp
mov esi, eax
push ebx
push 3
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff9
push esi
call fcn.00429ab9
pop ecx
pop ecx
mov ecx, ebp
call fcn.0044c61b
mov edx, dword [esp + 0x48]
mov ecx, ebp
call fcn.004296f7
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
test edx, edx
je 0x44e229
mov ecx, esi
call fcn.004388f2
mov esi, dword [esp + 0x30]
cmp byte [esp + 0x3b], 0x71
je 0x44e512
mov eax, dword [esi + 8]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], eax
test eax, eax
je 0x44e512
mov esi, eax
mov eax, dword [edi + 0x38]
dec eax
mov dword [esp + 0x74], eax
mov dword [edi + 0x38], eax
cmp dword [esp + 0x2c], esi
je 0x44e4fb
push dword [esp + 0x3c]
lea eax, [esp + 0xa0]
mov edx, esi
push dword [esp + 0x60]
mov ecx, edi
push eax
push ebx
push ebx
push dword [esp + 0x58]
call fcn.00445a51
mov ecx, dword [esp + 0x58]
push ebx
push 1
add ecx, 8
mov dword [esp + 0x5c], eax
push ecx
push 0x53
pop edx
mov ecx, ebp
mov dword [esp + 0x80], esi
call fcn.004293f8
movzx eax, word [esi + 0x34]
add esp, 0x24
mov dword [esp + 0x80], eax
mov ecx, ebp
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x40]
push dword [esp + 0x3c]
push dword [esp + 0x78]
push eax
push 0x1d
pop edx
call fcn.004293f8
mov ecx, dword [ebp]
add esp, 0xc
mov dword [esp + 0x74], eax
cmp byte [ecx + 0x51], bl
jne 0x44e2ed
imul ecx, eax, 0x14
mov eax, dword [esp + 0x80]
add ecx, dword [ebp + 0x68]
mov byte [ecx + 1], 0xfd
mov dword [ecx + 0x10], eax
push ebx
push 3
push ebx
push 0x71
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push str.row
call fcn.00429ab9
push 3
pop eax
push eax
push eax
push 7
push 0x6c
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0x14
mov ecx, ebp
push ebx
push 4
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push str._missing_from_index
call fcn.00429ab9
push 3
pop eax
push eax
push eax
push 4
push 0x6c
pop edx
mov ecx, ebp
call fcn.004293f8
mov esi, dword [esi]
add esp, 0x14
mov ecx, ebp
push ebx
push 4
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov dword [esp + 0x80], eax
mov edx, eax
mov ecx, ebp
push ebx
push esi
call fcn.00429ab9
push 3
pop eax
push eax
push eax
push 4
push 0x6c
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0x14
mov ecx, ebp
call fcn.0044c61b
push dword [ebp + 0x6c]
mov edx, dword [esp + 0x78]
mov ecx, ebp
mov dword [esp + 0x88], eax
call fcn.004298c6
mov esi, dword [esp + 0x4c]
pop ecx
cmp byte [esi + 0x36], bl
je 0x44e4d6
dec dword [edi + 0x38]
mov ecx, ebx
mov eax, dword [edi + 0x38]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x50], ecx
cmp ax, word [esi + 0x32]
jae 0x44e418
mov edi, dword [esp + 0x30]
mov eax, dword [esi + 4]
movsx edx, word [eax + ecx*2]
test edx, edx
js 0x44e3ea
mov eax, dword [edi + 4]
add edx, edx
cmp byte [eax + edx*8 + 0xc], bl
jne 0x44e407
mov eax, dword [esp + 0x3c]
push ebx
push dword [esp + 0x58]
add eax, ecx
mov ecx, ebp
push eax
push 0x32
pop edx
call fcn.004293f8
mov ecx, dword [esp + 0x5c]
add esp, 0xc
movzx eax, word [esi + 0x32]
inc ecx
mov dword [esp + 0x50], ecx
cmp ecx, eax
jl 0x44e3d4
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
mov ecx, ebp
add eax, dword [esp + 0x40]
push ebx
push ebx
push eax
push 5
pop edx
call fcn.004293f8
add esp, 0xc
mov ecx, ebp
mov esi, eax
push ebx
push dword [esp + 0x58]
push ebx
push 0xb
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, esi
mov ecx, ebp
push dword [ebp + 0x6c]
call fcn.004298c6
mov esi, dword [esp + 0x4c]
pop ecx
push dword [esp + 0x3c]
mov ecx, ebp
movzx eax, word [esi + 0x32]
push dword [esp + 0x58]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x48]
push eax
push 0x26
pop edx
call fcn.004293f8
mov ecx, dword [ebp]
add esp, 0xc
cmp byte [ecx + 0x51], bl
jne 0x44e495
mov ecx, dword [esp + 0x74]
imul eax, eax, 0x14
add eax, dword [ebp + 0x68]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ecx
push ebx
push 3
push ebx
push 0x71
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push str.non_unique_entry_in_index
call fcn.00429ab9
push ebx
push dword [esp + 0x8c]
mov ecx, ebp
push ebx
push 0xb
pop edx
call fcn.004293f8
mov edx, dword [esp + 0x68]
add esp, 0x14
mov ecx, ebp
call fcn.004296f7
push dword [ebp + 0x6c]
mov edx, dword [esp + 0x88]
mov ecx, ebp
call fcn.004298c6
mov edx, dword [esp + 0xa0]
pop ecx
test edx, edx
je 0x44e4fb
mov ecx, dword [edi + 8]
call fcn.004296f7
mov esi, dword [esi + 0x14]
inc dword [esp + 0x40]
mov dword [esp + 0x48], esi
test esi, esi
jne 0x44e24d
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x60]
mov ecx, ebp
push ebx
push edi
push dword [esp + 0x4c]
push 5
pop edx
call fcn.004293f8
add esp, 0xc
lea edx, [edi - 1]
mov ecx, ebp
push dword [ebp + 0x6c]
call fcn.004298c6
cmp byte [esp + 0x3f], 0x71
pop ecx
je 0x44e636
push ebx
push 2
push ebx
push 0x71
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push str.wrong__of_entries_in_index
call fcn.00429ab9
mov esi, dword [esi + 8]
mov dword [esp + 0x64], esi
pop ecx
pop ecx
mov ecx, ebx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x44e636
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x44e622
mov eax, dword [esp + 0x4c]
push ebx
push 3
pop edi
push edi
add eax, ecx
mov ecx, ebp
push eax
push 0x5d
pop edx
call fcn.004293f8
mov eax, dword [esp + 0x54]
add esp, 0xc
add eax, 8
mov ecx, ebp
push edi
push ebx
push eax
push 0x35
pop edx
call fcn.004293f8
mov ecx, dword [ebp + 0x6c]
add esp, 0xc
mov dword [esp + 0x60], eax
test ecx, ecx
jle 0x44e5d0
imul edx, ecx, 0x14
mov eax, 0x90
mov ecx, dword [ebp + 0x68]
mov word [edx + ecx - 0x12], ax
mov esi, dword [esi]
mov ecx, ebp
push ebx
push 4
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push esi
call fcn.00429ab9
push edi
push 2
push 4
push 0x6c
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0x14
mov ecx, ebp
call fcn.0044c61b
push dword [ebp + 0x6c]
mov edx, dword [esp + 0x64]
mov ecx, ebp
call fcn.004298c6
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
pop ecx
mov ecx, dword [esp + 0x48]
mov esi, dword [esi + 0x14]
inc ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], ecx
test esi, esi
jne 0x44e57d
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
jmp 0x44df32
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x58]
inc ecx
add edx, 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edx
cmp ecx, dword [edi + 0x14]
jl 0x44dd83
push ebx
push 0x4cbb60
push 7
pop edx
mov ecx, ebp
call fcn.00429829
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x44e6a2
xor eax, eax
inc eax
sub eax, dword [esp + 0x18]
push 0xb
pop ecx
mov dword [esi + 8], eax
mov byte [esi + 0x29], 0xff
mov dword [esi + 0x38], 0x4e764c
mov byte [esi + 0x65], 0xff
call fcn.00469821
mov dword [esi + 0x74], eax
mov eax, dword [ebp + 0x6c]
xor edx, edx
sub eax, 2
mov ecx, ebp
push eax
call fcn.004298d3
jmp 0x44eb92
test esi, esi
jne 0x44e6e0
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.0044f6fc
test eax, eax
jne 0x44eb93
mov eax, dword [ebx]
movzx edx, byte [eax + 0x4e]
mov edx, dword [edx*8 + 0x4cd200]
jmp 0x44caa2
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x44eb93
mov eax, dword [str.UTF8]
mov ebx, 0x4cd200
jmp 0x44e711
mov edx, eax
mov ecx, esi
call fcn.0041505e
test eax, eax
je 0x44e717
add ebx, 8
mov eax, dword [ebx]
test eax, eax
jne 0x44e6ff
jmp 0x44e73a
mov cl, byte [ebx + 4]
movzx eax, cl
test cl, cl
push 2
pop ecx
cmovne ecx, eax
mov eax, dword [edi + 0x10]
mov byte [edi + 0x4e], cl
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [ebx], 0
jne 0x44eb93
push esi
push str.unsupported_encoding:__s
push dword [esp + 0x28]
call fcn.00414f88
jmp 0x44ca29
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x9c]
bts eax, ecx
mov dword [ebp + 0x9c], eax
test esi, esi
je 0x44e7b6
test byte [edx + 5], 8
jne 0x44e7b6
push ebx
push 0x4cc25c
push 2
pop edx
mov ecx, ebp
call fcn.00429829
mov esi, eax
lea edx, [esp + 0x24]
mov eax, dword [esp + 0x30]
pop ecx
pop ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, ebx
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
call fcn.00415851
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x20], ecx
jmp 0x44eb97
push ebx
push 0x4ca6d4
push 3
pop edx
mov ecx, ebp
call fcn.00429829
pop ecx
pop ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x20], ecx
and dword [ebp + 0x98], 0xffffffbf
jmp 0x44eb93
mov eax, dword [esp + 0x20]
mov esi, ebx
mov dword [eax + 0x2c], 1
cmp esi, 0x11
ja 0x44e804
mov eax, dword [esi*4 + 0x4ce9e0]
mov dword [esp + 0x1c], eax
jmp 0x44e80a
mov eax, ebx
mov dword [esp + 0x1c], ebx
inc esi
test eax, eax
je 0x44e7d9
push ebx
push 1
push ebx
push 0x71
pop edx
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push ebx
push dword [esp + 0x20]
call fcn.00429ab9
push ebx
xor eax, eax
mov ecx, ebp
inc eax
push eax
push eax
push 0x51
pop edx
call fcn.004293f8
add esp, 0x14
jmp 0x44e7f2
mov eax, dword [esp + 0xa4]
push 0xa
pop ecx
cmp dword [eax], ebx
cmovne ecx, dword [esp + 0x28]
mov dword [esp + 0x60], ecx
mov ecx, ebx
test esi, esi
je 0x44e89e
mov edx, 0x4e7434
mov ecx, esi
call fcn.0041505e
test eax, eax
jne 0x44e873
xor ecx, ecx
inc ecx
jmp 0x44e89e
mov edx, str.restart
mov ecx, esi
call fcn.0041505e
test eax, eax
jne 0x44e888
push 2
pop ecx
jmp 0x44e89e
mov edx, str.truncate
mov ecx, esi
call fcn.0041505e
test eax, eax
mov ecx, ebx
push 3
pop eax
cmove ecx, eax
mov eax, dword [esp + 0x20]
push 3
pop edx
push 1
push ecx
push dword [esp + 0x68]
mov dword [eax + 0x2c], edx
mov ecx, ebp
push 6
pop edx
call fcn.004293f8
add esp, 0xc
push ebx
push 3
push 1
jmp 0x44ca1f
test esi, esi
je 0x44e8e5
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, esi
call fcn.00415851
push dword [esp + 0x1c]
push edi
call fcn.00469dc5
pop ecx
pop ecx
cmp dword [edi + 0xf0], 0x469da7
jne 0x44c8d2
mov ebx, dword [edi + 0xf4]
jmp 0x44c8d2
push edi
call fcn.004690e9
jmp 0x44eb92
test esi, esi
je 0x44e931
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, esi
call fcn.00415851
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
test cl, 2
je 0x44eb93
jmp 0x44e939
mov dword [esp + 0x4c], 0xfffe
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x28]
mov dword [esp + 0x1c], eax
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x44], ebx
je 0x44e958
mov dword [esp + 0x34], eax
jmp 0x44e968
mov ecx, dword [edi + 0x14]
dec ecx
mov dword [esp + 0x34], ecx
cmp eax, ecx
jg 0x44eadf
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
cmp eax, 1
je 0x44eacb
mov edx, eax
mov ecx, esi
call fcn.004440fa
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x50], edx
test edx, edx
je 0x44eabf
mov edx, dword [edx + 8]
mov dword [esp + 0x60], edx
test dword [edx + 0x24], 0x100
je 0x44eab4
mov ax, word [edx + 0x2c]
add ax, 0x2e
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, dword [edx + 8]
jmp 0x44e9d1
test byte [eax + 0x38], 0x80
je 0x44ea82
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x44e9c4
mov eax, dword [esp + 0x18]
test ax, ax
je 0x44ea22
push 0x61
push edx
push dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.004490ab
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x4c]
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [ebp + 0x6c]
add eax, ecx
mov ecx, ebp
push eax
push dword [esp + 0x24]
push 0x21
pop edx
call fcn.004293f8
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov edx, dword [esp + 0x60]
push dword [edx]
mov eax, dword [edi + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push edi
call fcn.004145b5
add esp, 0x10
mov dword [esp + 0x5c], eax
test byte [esp + 0x4c], 1
je 0x44ea8d
mov ecx, esi
call fcn.0043c449
push ebx
mov esi, eax
mov ecx, ebp
push esi
push ebx
push 0x71
pop edx
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff9
push dword [esp + 0x60]
call fcn.00429ab9
push ebx
push 1
push esi
push 0x51
pop edx
mov ecx, ebp
call fcn.004293f8
mov esi, dword [esp + 0x34]
add esp, 0x14
jmp 0x44eab0
mov eax, ebx
mov dword [esp + 0x18], eax
jmp 0x44e9d9
push ebx
push ebx
push ebx
mov edx, 0x8c
mov ecx, ebp
call fcn.004293f8
add esp, 0xc
mov edx, eax
mov ecx, ebp
push 0xfffffffffffffff9
push dword [esp + 0x60]
call fcn.00429ab9
pop ecx
pop ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
mov edx, dword [edx]
jmp 0x44e990
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
inc eax
add ecx, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
cmp eax, edx
jle 0x44e970
push ebx
push ebx
push ebx
mov edx, 0x9e
jmp 0x44ca22
test esi, esi
je 0x44eb0e
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00415774
test eax, eax
jne 0x44eb0e
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.00412741
pop ecx
pop ecx
or eax, 0xffffffff
push eax
push eax
call fcn.00412741
push edx
push eax
mov ecx, ebp
call fcn.0044c522
add esp, 0x10
jmp 0x44eb93
test esi, esi
je 0x44eb5a
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00415774
test eax, eax
jne 0x44eb5a
cmp dword [esp + 0x64], ebx
jl 0x44eb5a
mov eax, dword [esp + 0x60]
jg 0x44eb49
cmp eax, ebx
jb 0x44eb5a
and eax, 0x7fffffff
push eax
push 0xb
push edi
call fcn.0046a1f9
add esp, 0xc
mov eax, dword [edi + 0x98]
jmp 0x44eb87
test esi, esi
je 0x44eb81
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, esi
call fcn.00415851
push dword [esp + 0x1c]
push edi
call fcn.004698e8
pop ecx
pop ecx
mov eax, dword [edi + 0x1b4]
cdq
push edx
push eax
mov ecx, ebp
call fcn.0044c522
pop ecx
pop ecx
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
mov ecx, edi
call fcn.00412a50
test ebx, ebx
je 0x44ebaf
mov edx, ebx
mov ecx, edi
call fcn.00412a50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret