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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
pcmpeqd xmm0, xmm0
mov esi, edx
mov dword [esp + 0xc], ecx
movdqa xmmword [esp + 0x70], xmm0
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
call fcn.00485cb0
test eax, eax
mov dword [esp + 4], eax
je 0x47f87c
mov eax, dword [esp + 4]
mov ebx, dword [ebp + 8]
or byte [eax + 0x96], 0x20
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov ecx, dword [eax]
cmp dword [ebx + 4], 0
je 0x47e267
cmp byte [ecx + 0xa5], 0
mov edi, dword [esp + 0x10]
je 0x47e276
push str.corrupt_database
push eax
call fcn.0042af90
add esp, 8
jmp 0x47f87c
movzx eax, byte [ecx + 0xa4]
mov edi, dword [esp + 0x10]
mov ebx, esi
jmp 0x47e285
mov edx, esi
call fcn.00491520
test eax, eax
js 0x47e337
mov ecx, dword [edi + 0x10]
cmp eax, 1
mov dword [esp], eax
mov dword [esp + 8], ecx
jne 0x47e2ae
mov ecx, dword [esp + 0xc]
call fcn.00439a80
test ebx, ebx
je 0x47f87c
test eax, eax
je 0x47e2b6
jmp 0x47f87c
test ebx, ebx
je 0x47f87c
mov edi, dword [ebx]
test edi, edi
je 0x47f87c
mov ebx, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
xor eax, eax
mov edx, ebx
inc edx
sete al
push eax
call fcn.00435490
add esp, 4
test eax, eax
je 0x47f87c
mov esi, eax
push ebx
push edi
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [ebp + 0x10]
add esp, 0xc
mov byte [esi + ebx], 0
mov edi, dword [esp + 0x10]
movzx eax, byte [esi]
cmp byte [eax + 0x50d0f3], 0
jns 0x47e354
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
mov edx, 1
cmovne eax, ecx
mov ecx, esi
jmp 0x47e324
mov byte [ecx], bl
inc edx
inc ecx
movzx ebx, byte [esi + edx]
cmp bl, al
jne 0x47e320
cmp byte [esi + edx + 1], al
jne 0x47e34e
inc edx
mov byte [ecx], al
jmp 0x47e322
push esi
push str.unknown_database__T
push dword [esp + 0x14]
call fcn.0042af90
add esp, 0xc
jmp 0x47f87c
mov byte [ecx], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
test ecx, ecx
mov dword [esp + 0x48], esi
je 0x47e391
push eax
push 0x515444
push edi
call fcn.0042b0f0
add esp, 0xc
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x47e415
mov eax, dword [esp]
mov ecx, dword [esp + 8]
shl eax, 4
mov edi, dword [ecx + eax]
jmp 0x47e417
test eax, eax
je 0x47e686
mov edi, dword [eax]
mov dword [esp + 0x28], 0
test edi, edi
je 0x47e372
mov ebx, dword [eax + 4]
mov ecx, dword [esp + 0x10]
xor eax, eax
mov edx, ebx
inc edx
sete al
push eax
call fcn.00435490
add esp, 4
test eax, eax
je 0x47e372
mov esi, eax
push ebx
push edi
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
movzx eax, byte [esi]
cmp byte [eax + 0x50d0f3], 0
jns 0x47e710
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
mov edx, 1
cmovne eax, ecx
mov ecx, esi
jmp 0x47e3fe
mov byte [ecx], bl
inc edx
inc ecx
movzx ebx, byte [esi + edx]
cmp bl, al
jne 0x47e3fa
cmp byte [esi + edx + 1], al
jne 0x47e70d
inc edx
mov byte [ecx], al
jmp 0x47e3fc
xor edi, edi
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
jne 0x47e437
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xc8], 0
je 0x47e693
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], 0
mov dword [ecx + 0x1ac], 0
push eax
push 0xe
push edi
push ecx
call fcn.00433a50
add esp, 0x10
test eax, eax
je 0x47e507
mov esi, eax
cmp eax, 0xc
jne 0x47e5a4
mov eax, 0x40
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], eax
add eax, ecx
xor edi, edi
mov edx, eax
mov dword [esp + 0x30], eax
shr edx, 0x1f
add edx, eax
sar edx, 1
mov eax, edx
shl eax, 4
mov esi, dword [eax + 0x50fc60]
mov dword [esp + 0x14], eax
jmp 0x47e4d3
movzx ebx, byte [ebx + 0x50ce7b]
movzx eax, byte [eax + 0x50ce7b]
sub ebx, eax
jne 0x47e4ec
inc edi
mov eax, dword [esp + 0x48]
movzx ebx, byte [eax + edi]
movzx eax, byte [esi + edi]
cmp bl, al
jne 0x47e4c0
test bl, bl
jne 0x47e4d2
jmp 0x47e5d6
mov esi, dword [esp + 0x24]
lea eax, [edx - 1]
inc edx
test ebx, ebx
cmovns ecx, edx
cmovs esi, eax
mov eax, esi
cmp ecx, esi
jle 0x47e494
jmp 0x47f85e
mov esi, dword [esp + 4]
mov edx, 1
mov ecx, esi
call fcn.0046ca00
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x47e534
mov edx, dword [esp + 0x70]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
call fcn.00425ff0
add esp, 0xc
mov edx, dword [esp + 0x70]
mov ecx, esi
call fcn.004c6080
mov esi, dword [esp + 0x70]
test esi, esi
je 0x47f85e
cmp dword [0x51d1a8], 0
je 0x47e6e0
mov eax, dword [0x51e858]
test eax, eax
je 0x47e56b
push eax
call dword [0x51d1f8]
add esp, 4
push esi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x47f85e
push eax
call dword [0x51d200]
jmp 0x47f85b
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0xc]
test eax, eax
je 0x47e5cb
push eax
push 0x50cf7b
push edi
call fcn.0042af90
add esp, 0xc
push dword [esp + 0x70]
call fcn.0041c220
add esp, 4
inc dword [edi + 0x24]
mov dword [edi + 0xc], esi
jmp 0x47f85e
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 0x50fc65]
test bl, 1
je 0x47e5f7
mov ecx, dword [esp + 0xc]
call fcn.0046cc10
test eax, eax
jne 0x47f85e
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
test bl, 2
lea edx, [eax + 0x50fc60]
jne 0x47e620
test esi, esi
je 0x47e613
and ebx, 4
jne 0x47e620
mov ecx, dword [esp + 4]
mov edi, edx
call fcn.004c6160
mov edx, edi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov al, byte [eax + 0x50fc64]
dec al
cmp al, 0x29
ja case.0x47e63b.5
movzx eax, al
jmp dword [eax*4 + 0x50ae90]
test esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
je 0x47e67b
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00434b10
test eax, eax
jne 0x47e67b
cmp dword [esp + 0x1c], 0
js 0x47e67b
mov eax, dword [esp + 0x18]
and eax, 0x7fffffff
mov dword [edi + 0x1d4], eax
mov edx, dword [edi + 0x1d4]
jmp 0x47f84c
mov dword [esp + 0x28], 0
jmp 0x47e372
mov ecx, dword [eax + 0x150]
test ecx, ecx
je 0x47e437
mov esi, dword [esp + 0xc]
push dword [esi + 0xf0]
push edi
push dword [esp + 0x30]
push dword [esp + 0x54]
push 0x13
push dword [eax + 0x154]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x47e6ec
push str.not_authorized
push esi
call fcn.0042af90
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x47f85e
push esi
call dword [0x51d1cc]
jmp 0x47f85b
test eax, 0xfffffffd
je 0x47e719
push str.authorizer_malfunction
push esi
call fcn.0042af90
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x47f85e
mov byte [ecx], 0
mov dword [esp + 0x28], esi
jmp 0x47e372
test eax, eax
jne 0x47f85e
jmp 0x47e437
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov eax, 1
shl eax, cl
or dword [ebx + 0x98], eax
cmp ecx, 1
je 0x47e75a
mov ecx, dword [ebx]
mov edx, dword [esp]
mov ecx, dword [ecx + 0x10]
shl edx, 4
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x47e75a
or dword [ebx + 0x9c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
test esi, esi
mov edi, dword [eax + 0x50fc68]
je 0x47e786
add ecx, 0xffffffe6
cmp ecx, 0x13
ja 0x4816e7
mov eax, 0xc0003
bt eax, ecx
jae 0x4816e7
mov ecx, ebx
mov edx, 3
push 0x51568f
call fcn.0042b210
add esp, 4
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], edi
and byte [ebx + 0x96], 0xdf
jmp 0x47f85e
mov edi, dword [esp]
mov eax, dword [esp + 8]
mov ecx, esi
shl edi, 4
test ecx, ecx
mov esi, dword [eax + edi + 4]
je 0x47f9e9
call fcn.004c63e0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, esi
mov edx, ebx
mov byte [eax + 0x54], bl
call fcn.0046b6f0
dec ebx
cmp ebx, 1
ja 0x481725
test eax, eax
jne 0x481725
mov ecx, dword [esp + 4]
mov edx, 5
mov esi, dword [ecx + 0x6c]
push 0x515482
call fcn.0042b210
add esp, 4
mov ecx, dword [esp]
mov edx, dword [esp + 4]
add esi, 4
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ebx
mov eax, 1
shl eax, cl
or dword [edx + 0x98], eax
cmp ecx, 1
je 0x481725
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edi + 4]
cmp byte [ecx + 9], 0
je 0x481725
mov ecx, dword [esp + 4]
or dword [ecx + 0x9c], eax
jmp 0x481725
test esi, esi
je 0x47fa09
mov eax, dword [esp + 0x14]
mov ecx, esi
mov ebx, edi
mov edx, 1
mov esi, dword [eax + 0x50fc6c]
mov eax, dword [eax + 0x50fc68]
mov edi, eax
and edi, 0xffffbfff
cmp byte [ebx + 0x4f], 0
cmovne edi, eax
push 0
call fcn.004c6680
add esp, 4
test al, al
je 0x481169
or dword [ebx + 0x20], edi
or dword [ebx + 0x24], esi
mov esi, ebx
jmp 0x481197
test esi, esi
je 0x47e8d4
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.004692d0
push dword [esp + 0x18]
push edi
call fcn.00430ae0
add esp, 8
mov edx, dword [edi + 0x1d8]
jmp 0x47f84c
test esi, esi
je 0x47fa3a
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.004692d0
mov edx, dword [esp]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x18]
shl edx, 4
mov ecx, dword [esi + edx + 0xc]
mov dword [ecx + 0x50], eax
mov ecx, dword [esi + edx + 4]
mov eax, dword [esi + edx + 0xc]
jmp 0x47eb47
test esi, esi
je 0x47fa50
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 1
call fcn.004692d0
test eax, eax
je 0x4811ba
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x18]
shl eax, 4
mov edx, esi
mov ecx, dword [ecx + eax + 4]
call fcn.0046b430
jmp 0x4811be
test esi, esi
je 0x481675
mov ecx, esi
mov edx, 1
push 0
call fcn.004c6680
add esp, 4
xor edx, edx
test al, al
mov ecx, edi
setne dl
call fcn.004c69d0
jmp 0x481725
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov esi, dword [edi + 0x19c]
test esi, esi
je 0x47f85e
xor edi, edi
mov eax, dword [esi + 8]
push dword [eax]
push edi
inc edi
push 0x51551a
push 1
push dword [esp + 0x14]
call fcn.004c6780
add esp, 0x14
mov esi, dword [esi]
test esi, esi
jne 0x47e9a4
jmp 0x47f85e
test esi, esi
je 0x47fa78
cmp byte [esi], 0
je 0x47ea02
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x18]
mov eax, dword [edi]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x47f9df
cmp dword [esp + 0x18], 0
je 0x47f9df
push dword [0x51e980]
call fcn.0041c220
add esp, 4
cmp byte [esi], 0
je 0x481434
push esi
push 0x50cf7b
call fcn.0041ef10
add esp, 8
mov dword [0x51e980], eax
jmp 0x481725
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x47f85e
xor esi, esi
mov edi, 4
jmp 0x47ea79
push ecx
push eax
push esi
push 0x515516
push 1
push dword [esp + 0x18]
call fcn.004c6780
add esp, 0x18
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jge 0x47f85e
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx + edi]
test edx, edx
je 0x47ea6d
mov eax, dword [ecx + edi - 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx]
mov ecx, 0x50e0bf
cmp byte [edx + 0xf], 0
jne 0x47ea50
mov ecx, dword [edx + 0xa8]
jmp 0x47ea50
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov eax, 1
shl eax, cl
or dword [ebx + 0x98], eax
cmp ecx, 1
je 0x47ead7
mov ecx, dword [ebx]
mov edx, dword [esp]
mov ecx, dword [ecx + 0x10]
shl edx, 4
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x47ead7
or dword [ebx + 0x9c], eax
test esi, esi
je 0x47fa83
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.004692d0
mov eax, dword [esp + 0x18]
mov esi, 0x7fffffff
mov edi, dword [esp]
mov ecx, eax
neg ecx
cmp eax, 0x80000000
cmovne esi, ecx
mov ecx, dword [esp + 0xc]
test eax, eax
cmovns esi, eax
xor edx, edx
push edi
call fcn.00491430
add esp, 4
mov ecx, ebx
mov edx, 0x5e
push esi
push 3
push edi
call fcn.0046c5a0
add esp, 0xc
mov edx, dword [esp + 8]
shl edi, 4
mov eax, dword [edx + edi + 0xc]
mov dword [eax + 0x50], esi
mov ecx, dword [edx + edi + 4]
mov eax, dword [edx + edi + 0xc]
mov edx, dword [eax + 0x50]
call fcn.00467f40
jmp 0x481725
test esi, esi
je 0x47fab4
test byte [edi + 0x18], 0x40
jne 0x481725
mov esi, dword [esp + 0x28]
xor eax, eax
jmp 0x47eb82
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481452
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF8]
cmp cl, dl
jne 0x47eb6e
test cl, cl
jne 0x47eb81
mov esi, 0x5155ec
jmp 0x481ce3
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 6]
mov dword [ecx + 0x2c], edx
mov dword [esp + 0x34], edx
mov edx, dword [esp]
mov ecx, dword [edi + 0x10]
shl edx, 4
mov ecx, dword [ecx + edx + 0xc]
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x47f85e
lea esi, [eax + 1]
mov ecx, edx
lea edi, [eax + 5]
mov dword [esp + 0x58], esi
lea esi, [eax + 2]
lea eax, [eax + 3]
mov dword [esp + 0x44], edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], eax
jmp 0x47ec38
mov esi, dword [esp + 0x4c]
mov ecx, ebx
mov edx, 5
lea eax, [esi + 1]
push 0
push eax
push 0
call fcn.0046c5a0
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
je 0x47f07c
mov esi, dword [esp + 0x54]
mov dword [ecx + 8], eax
mov ecx, esi
test esi, esi
je 0x47f85e
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47ec57
mov ecx, dword [esp + 0xc]
xor esi, esi
xor edx, edx
push dword [esp + 0x38]
push eax
call fcn.0042a6e0
add esp, 8
jmp 0x47ec5e
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov esi, ecx
test eax, eax
je 0x47ec2e
cmp dword [eax + 0x10], 0
je 0x47ec2e
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x48]
mov dword [esp + 0x54], esi
test eax, eax
je 0x47ec90
mov ecx, dword [esp + 0x10]
mov edi, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
inc edi
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x47ec86
jmp 0x47ec95
mov edi, 0xfff0bdc0
mov esi, dword [esp + 0xc]
mov edx, edi
mov ecx, esi
call fcn.0048f7c0
mov ebx, dword [esp + 0x2c]
mov ecx, esi
mov edx, edi
push dword [ebx]
push 0
push dword [ebx + 0x1c]
call fcn.004863b0
add esp, 0xc
movsx eax, word [ebx + 0x2a]
add eax, dword [esp + 0x34]
cmp eax, dword [esi + 0x2c]
jle 0x47ecc9
mov dword [esi + 0x2c], eax
mov ecx, esi
xor edx, edx
push 0x60
mov ebx, dword [esp + 0x30]
push ebx
push edi
call fcn.00486200
add esp, 0xc
mov esi, dword [esp + 4]
mov eax, dword [ebx]
mov edx, 0x73
mov ecx, esi
mov dword [esp], eax
push 0
push dword [esp + 0x5c]
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0
push dword [esp + 4]
call fcn.0042b420
add esp, 8
mov ebx, dword [ebx + 0x10]
mov ecx, 1
jmp 0x47ed46
mov ecx, dword [esp + 4]
mov edx, 0x60
push edi
push dword [eax + 0x2c]
push dword [esp + 8]
mov esi, eax
call fcn.0046c5a0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.00486540
mov ecx, dword [esp]
mov ebx, dword [ebx + 4]
inc ecx
test ebx, ebx
je 0x47edc5
mov dword [esp], ecx
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x38]
call fcn.00433400
add esp, 4
test eax, eax
je 0x47ed3f
mov ecx, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0x18], 0
mov edx, edi
push dword [eax]
push 0
push dword [eax + 0x1c]
call fcn.004863b0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, esi
push 0
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.004be3d0
add esp, 0xc
test eax, eax
jne 0x47f85e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x47ed19
mov ecx, dword [esp + 0xc]
mov edx, dword [esp]
push 0x60
push esi
push edi
call fcn.00486200
add esp, 0xc
jmp 0x47ed3f
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], ecx
jge 0x47edd1
mov dword [eax + 0x28], ecx
mov ebx, dword [esp + 4]
mov edx, 0x25
mov ecx, ebx
push 0
push 0
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov esi, dword [ecx + 0x10]
test esi, esi
je 0x47ebf8
mov eax, 1
jmp 0x47ee18
mov eax, dword [esp + 0x3c]
mov esi, dword [esi + 4]
inc eax
test esi, esi
je 0x47ebf8
mov edx, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov ecx, edi
push dword [esp + 0x38]
call fcn.00433400
add esp, 4
mov edi, esi
mov esi, dword [esp + 0xc]
mov ebx, eax
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
je 0x47ee60
lea eax, [esp + 0x40]
mov ecx, esi
mov edx, ebx
push eax
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.004be3d0
add esp, 0xc
mov eax, dword [esi + 0x38]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], edi
dec eax
mov dword [esi + 0x38], eax
mov dword [esp + 0x24], eax
mov esi, edi
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x47ef31
lea ecx, [esi + 0x24]
xor edx, edx
xor ebx, ebx
jmp 0x47eed5
lea ecx, [eax + 1]
mov edx, dword [esp + 8]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov esi, dword [esp + 0x24]
mov dword [ecx + eax*4], 0x32
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
inc ebx
mov eax, dword [esi + 0x14]
add edx, 4
add ecx, 8
cmp ebx, eax
jge 0x47ef31
mov eax, dword [esp + 0x40]
mov dword [esp], ecx
mov esi, dword [esp + 4]
mov dword [esp + 0x14], edx
test eax, eax
lea eax, [eax + edx]
mov edx, dword [esp + 0x2c]
cmove eax, ecx
mov ecx, dword [esp + 0x34]
lea edi, [ecx + ebx]
mov ecx, esi
mov dword [esp + 8], edi
push edi
push dword [eax]
push 0
call fcn.0048be20
add esp, 0xc
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x47ee89
mov ecx, esi
mov edx, 0x32
push 0
push dword [esp + 0x28]
push dword [esp + 0x10]
call fcn.0046c600
add esp, 0xc
jmp 0x47eebc
mov edx, dword [esp + 0x18]
test edx, edx
je 0x47efbd
mov ecx, dword [esp + 0x10]
mov edi, eax
call fcn.0049b140
mov dword [esp], eax
mov eax, dword [esi + 0x14]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x44]
mov edx, 0x5b
mov dword [esp + 8], eax
mov ecx, ebx
push esi
push edi
push dword [esp + 0x3c]
call fcn.0046c5a0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push dword [esp + 8]
push dword [esp + 4]
call fcn.0042b420
add esp, 8
mov ecx, ebx
mov edx, 0x1e
push esi
mov esi, dword [esp + 0x34]
push dword [esp + 0x28]
mov edi, dword [esp + 0x44]
push edi
call fcn.0046c5a0
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x47effe
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x47effe
cmp dword [esp + 0x50], 0
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x3c]
je 0x47effe
mov eax, dword [ebx + 0x6c]
mov ecx, ebx
mov edx, 0x1f
add eax, 2
push dword [esp + 0x34]
push eax
push edi
call fcn.0046c5a0
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
push 0
push dword [esp + 0x28]
push 0
call fcn.0046c5a0
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov edx, 0x48
mov ecx, ebx
cmp byte [eax + 0x24], 0
mov eax, 0x7f
cmovns edx, eax
push 0
push dword [esp + 0x6c]
push 0
call fcn.0046c5a0
add esp, 0xc
lea eax, [edi - 1]
push eax
push dword [esi + 8]
push 0x51552d
push dword [esp + 0x70]
push ebx
call fcn.004c6780
add esp, 0x14
mov edx, 0x50
mov ecx, ebx
push 0
push 4
push dword [esp + 0x60]
call fcn.0046c5a0
add esp, 0xc
mov edx, dword [esp + 0x24]
mov ecx, ebx
call fcn.0048b2b0
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
test edx, edx
je 0x47ee08
mov ecx, edi
call fcn.004352c0
jmp 0x47ee08
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
jmp 0x47ec27
test esi, esi
je 0x481675
mov ecx, edi
mov edx, esi
push dword [esp + 0x38]
call fcn.00433400
add esp, 4
test eax, eax
je 0x481725
mov edi, dword [eax + 0x10]
test edi, edi
je 0x481725
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4818ee
mov ecx, dword [esp + 0x10]
mov edx, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
inc edx
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x47f0db
jmp 0x4818f3
mov esi, dword [edi + 0x18]
mov eax, dword [esp + 0xc]
shr esi, 5
mov dword [eax + 0x2c], 6
xor eax, eax
and esi, 1
jmp 0x47f10e
mov eax, dword [esp + 8]
inc eax
cmp eax, 0x17
je 0x47f910
mov edi, dword [eax*4 + 0x51e9b0]
mov dword [esp + 8], eax
jmp 0x47f126
mov edi, dword [esp]
mov edi, dword [edi + 0x24]
test edi, edi
je 0x47f100
mov dword [esp], edi
jmp 0x47f176
cmp dword [edi + 0x18], 0
mov ecx, 0x515761
je 0x47f18f
movsx ebx, byte [edi]
mov edx, eax
and eax, 0x3c0800
xor eax, 0x200000
and edx, 3
push eax
push ebx
push dword [edx*4 + 0x51573c]
push ecx
push 1
push dword [edi + 0x20]
push str.sissii
push 1
push dword [esp + 0x24]
call fcn.004c6780
add esp, 0x24
mov edi, dword [edi + 0xc]
test edi, edi
je 0x47f120
cmp dword [edi + 0x10], 0
je 0x47f16f
mov eax, dword [edi + 4]
test esi, esi
jne 0x47f130
mov ecx, eax
and ecx, 0x40000
jne 0x47f16f
jmp 0x47f130
cmp dword [edi + 0x14], 0
mov ecx, 0x515763
mov edx, 0x51551d
cmove ecx, edx
jmp 0x47f13b
test esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
je 0x47f1cb
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
call fcn.00434b10
test eax, eax
je 0x4811f8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041bf30
jmp 0x47f6d2
test esi, esi
mov dword [esp + 0x18], 0xffffffff
je 0x47f1fe
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
call fcn.004692d0
test eax, eax
je 0x47f1fe
mov esi, dword [esp + 0x18]
test esi, esi
jg 0x47f20b
mov esi, 0x7fffffff
mov dword [esp + 0x18], 0x7fffffff
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp]
xor edx, edx
push ebx
call fcn.00491430
add esp, 4
mov edi, dword [esp + 4]
mov edx, 0x45
mov ecx, edi
push 0
push 1
push esi
call fcn.0046c5a0
add esp, 0xc
mov ecx, edi
mov edx, 0x3c
push 0
push 0
push ebx
call fcn.0046c5a0
add esp, 0xc
mov esi, eax
mov ecx, edi
mov edx, 0x50
push 0
push 0
push 1
call fcn.0046c5a0
add esp, 0xc
mov ecx, edi
mov edx, 0x52
push 0
push 0xffffffffffffffff
push 1
call fcn.0046c5a0
add esp, 0xc
mov ecx, edi
mov edx, 0x30
push 0
push esi
push 1
call fcn.0046c5a0
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x47f2aa
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
jmp 0x47f85e
test esi, esi
je 0x481675
mov ebx, dword [esp + 0x38]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00469100
add esp, 4
mov edi, eax
test eax, eax
je 0x48123b
mov eax, dword [edi + 0x18]
mov esi, dword [esp + 0xc]
test eax, eax
je 0x4814e9
mov ecx, dword [esp + 0x10]
mov edx, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
inc edx
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x47f2f3
jmp 0x4814ee
test esi, esi
je 0x481675
mov ecx, edi
mov edx, esi
push dword [esp + 0x38]
call fcn.00433400
add esp, 4
mov edi, dword [esp + 0xc]
test eax, eax
je 0x481725
mov esi, eax
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4815c7
mov ecx, dword [esp + 0x10]
mov edx, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
inc edx
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x47f340
jmp 0x4815cc
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 8]
mov al, byte [eax]
mov byte [esp + 0x54], al
xor eax, eax
cmp dword [ecx], 1
sbb eax, eax
test esi, esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 6
mov eax, 0x64
mov dword [esp + 0x18], 0x64
je 0x47fadb
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.004692d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 4]
test eax, eax
jg 0x47fadf
mov eax, 0x64
mov dword [esp + 0x18], 0x64
jmp 0x47fadf
test esi, esi
je 0x481ae5
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
je 0x47f3fe
xor ecx, ecx
movzx edx, byte [esi + ecx]
test edx, edx
je 0x481680
movzx esi, byte [ecx + str.delete]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x48168f
mov esi, dword [esp + 0x28]
inc ecx
cmp eax, ecx
jne 0x47f3cc
mov ecx, dword [esp]
mov dword [esp + 8], 0
jmp 0x481b04
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 4]
shl eax, 4
mov eax, dword [ecx + eax + 4]
mov ecx, esi
test ecx, ecx
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xfffffffe
je 0x47f496
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
call fcn.00434b10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, 0xfffffffe
mov ebx, 0xffffffff
cmp edx, eax
sbb ebx, ecx
jl 0x47f47a
mov eax, 0xffffffff
mov ecx, 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], ecx
mov edx, dword [esi + 0xd8]
test edx, edx
je 0x47f496
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov edx, dword [esi + 0xa0]
mov ecx, edi
push dword [esi + 0xa4]
jmp 0x47f856
mov ecx, esi
call fcn.004c6370
mov ecx, dword [ebp + 8]
cmp eax, 0xffffffff
mov ecx, dword [ecx + 4]
jne 0x47f93f
test ecx, ecx
jne 0x47f93f
mov ecx, dword [esp + 4]
lea esi, [edi + 0x53]
jmp 0x48141a
mov edi, dword [esp + 0xc]
mov ebx, dword [esp]
mov ecx, edi
mov edx, ebx
call fcn.0048f7c0
mov esi, dword [edi + 0x2c]
mov eax, dword [esp + 0x48]
inc esi
mov dword [edi + 0x2c], esi
mov al, byte [eax]
and al, 0xdf
cmp al, 0x50
jne 0x47f95f
mov edi, dword [esp + 4]
mov edx, 0xa8
mov ecx, edi
push 0
push esi
push ebx
jmp 0x4813c3
test esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
je 0x4812ff
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
call fcn.00434b10
mov eax, dword [esp + 0x1c]
test eax, eax
js 0x481288
mov ecx, dword [esp + 0x18]
jmp 0x48129b
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov esi, dword [edi + 0x170]
test esi, esi
je 0x47f85e
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x51551d
push 1
push dword [esp + 0x10]
call fcn.004c6780
add esp, 0x10
mov esi, dword [esi]
test esi, esi
jne 0x47f561
jmp 0x47f85e
mov edi, dword [esp + 0x38]
test esi, esi
je 0x480ea7
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.004692d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov esi, eax
test al, 2
jne 0x480eb0
jmp 0x481725
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov ecx, esi
shl eax, 4
test ecx, ecx
mov esi, dword [edx + eax + 4]
je 0x480ee6
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.004692d0
mov edx, dword [esp + 0x18]
mov ecx, esi
mov dword [edi + 0x5c], edx
push 0
push 0
call fcn.00433c80
add esp, 8
cmp eax, 7
jne 0x481725
mov ecx, dword [esp + 0x10]
call fcn.004267e0
jmp 0x481725
mov esi, 0xfffffbf0
push dword [esi + str.analysis_limit]
push 0x51551d
push 1
push dword [esp + 0x10]
call fcn.004c6780
add esp, 0x10
add esi, 0x10
jne 0x47f615
jmp 0x47f85e
mov eax, dword [esp]
mov ecx, dword [esp + 8]
shl eax, 4
test esi, esi
mov ecx, dword [ecx + eax + 4]
je 0x480ef9
mov ebx, dword [esp + 4]
xor eax, eax
mov dword [esp + 8], ecx
jmp 0x47f66e
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481106
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.fast]
cmp cl, dl
jne 0x47f65a
test cl, cl
jne 0x47f66d
mov edx, 2
jmp 0x48111e
push edi
call fcn.0042ff20
jmp 0x47f85b
test esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
je 0x47f6c9
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00434b10
test eax, eax
jne 0x47f6c9
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.0041bd80
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041bd80
add esp, 8
mov ecx, dword [esp + 4]
mov esi, edx
mov edx, eax
push esi
jmp 0x47f856
test esi, esi
je 0x480f07
cmp byte [edi + 0x4f], 0
mov eax, dword [esp]
je 0x481350
cmp eax, 1
je 0x481725
mov ecx, dword [esp + 0x28]
xor edx, edx
push 1
call fcn.004c6680
add esp, 4
inc al
mov ecx, 1
mov edx, dword [esp + 8]
and al, 7
movzx eax, al
cmovne ecx, eax
mov eax, dword [esp]
shl eax, 4
mov byte [edx + eax + 8], cl
mov ecx, dword [esp + 0x10]
mov byte [edx + eax + 9], 1
call fcn.004c64a0
jmp 0x481725
test esi, esi
je 0x481675
mov edi, dword [esp + 0xc]
mov edx, 2
mov ecx, edi
push dword [esp + 0x38]
push esi
call fcn.0042a6e0
add esp, 8
test eax, eax
je 0x481725
mov esi, eax
mov eax, dword [eax + 0x48]
test eax, eax
je 0x48162c
mov ecx, dword [esp + 0x10]
mov edx, 0xffffffff
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
inc edx
cmp dword [ecx], eax
lea ecx, [ecx + 0x10]
jne 0x47f785
jmp 0x481631
test esi, esi
je 0x480f1c
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.004c65a0
jmp 0x481725
test esi, esi
je 0x480f2b
cmp byte [esi], 0
je 0x47f7e3
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x18]
mov eax, dword [edi]
push ecx
push 1
push esi
push eax
call dword [eax + 0x20]
add esp, 0x10
test eax, eax
jne 0x47f9df
cmp dword [esp + 0x18], 0
je 0x47f9df
push dword [0x51e984]
call fcn.0041c220
add esp, 4
cmp byte [esi], 0
je 0x481443
push esi
push 0x50cf7b
call fcn.0041ef10
add esp, 8
mov dword [0x51e984], eax
jmp 0x481725
test esi, esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
je 0x47f846
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.00434b10
test eax, eax
jne 0x47f846
cmp dword [esp + 0x1c], 0
js 0x47f846
mov dword [edi + 0x98], 0
mov edx, dword [edi + 0x98]
mov ecx, dword [esp + 4]
mov eax, edx
sar eax, 0x1f
push eax
call fcn.004c61f0
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
call fcn.004352c0
mov edx, dword [esp + 0x28]
test edx, edx
je 0x47f87c
mov ecx, dword [esp + 0x10]
call fcn.004352c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test esi, esi
je 0x47f8a8
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.004692d0
push dword [esp + 0x18]
push edi
call fcn.00431980
add esp, 8
xor edx, edx
cmp dword [edi + 0xf4], 0x431a80
mov ecx, dword [esp + 4]
jne 0x47f850
mov edx, dword [edi + 0xf8]
jmp 0x47f850
mov eax, dword [ebp + 8]
mov edi, dword [esp]
cmp dword [eax], 0
mov eax, 0xa
cmove edi, eax
test esi, esi
je 0x4814b5
xor eax, eax
jmp 0x47f8f3
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481134
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.full]
cmp cl, dl
jne 0x47f8df
test cl, cl
jne 0x47f8f2
mov eax, 1
jmp 0x4814b7
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x18c]
test edi, edi
je 0x47f85e
mov edx, dword [edi + 8]
mov ecx, dword [esp + 4]
push esi
push 0
call fcn.004c6930
add esp, 8
mov edi, dword [edi]
test edi, edi
jne 0x47f922
jmp 0x47f85e
test ecx, ecx
jne 0x4813e3
mov ecx, dword [edi + 0x14]
cmp ecx, 2
jle 0x4813dc
mov edx, 2
mov esi, 0x24
jmp 0x47f9b4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], 0
test ecx, ecx
je 0x4813b0
lea edx, [esp + 0x18]
call fcn.004692d0
mov eax, dword [esp + 0x18]
test eax, eax
jns 0x4813b2
mov ecx, eax
neg ecx
cmp eax, 0x80000000
mov eax, 0x7fffffff
cmovne eax, ecx
jmp 0x4813b2
mov ecx, dword [esp + 0x10]
mov byte [edi + 4], al
mov ecx, dword [ecx + 0x14]
inc edx
add esi, 0x10
cmp edx, ecx
jge 0x4813dc
mov edi, dword [esp + 0x10]
test eax, eax
js 0x47f9a8
mov edi, dword [edi + 0x10]
mov edi, dword [edi + esi]
mov edi, dword [edi + 4]
mov edi, dword [edi]
cmp byte [edi + 0xc], 0
jne 0x47f9a8
mov ebx, dword [edi + 0xd8]
test ebx, ebx
je 0x47f99e
cmp byte [ebx + 0x2b], 2
jne 0x47f99e
jmp 0x47f9a8
push str.not_a_writable_directory
jmp 0x481355
mov ecx, esi
call fcn.0046b760
mov ecx, dword [esp + 4]
mov edx, eax
push 0
call fcn.004c61f0
add esp, 4
mov edi, dword [esp + 0x10]
jmp 0x481675
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.004c6160
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [ecx + 0x50fc68]
mov ecx, dword [ecx + 0x50fc6c]
and ecx, dword [edi + 0x24]
and eax, dword [edi + 0x20]
or eax, ecx
mov ecx, esi
setne dl
push 0
jmp 0x48166d
mov eax, dword [esp]
mov ecx, dword [esp + 8]
shl eax, 4
mov eax, dword [ecx + eax + 0xc]
mov edx, dword [eax + 0x50]
jmp 0x481663
xor edx, edx
test byte [edi + 0x20], 0x20
je 0x481663
mov eax, dword [esp]
mov ecx, dword [esp + 8]
xor edx, edx
shl eax, 4
mov ecx, dword [ecx + eax + 4]
call fcn.0046b430
mov edx, eax
jmp 0x481663
mov edx, dword [0x51e980]
jmp 0x480f31
mov eax, dword [esp + 0xc]
mov ecx, ebx
mov edx, 9
add dword [eax + 0x2c], 2
push 0x515448
call fcn.0042b210
add esp, 4
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x481675
mov ecx, dword [esp + 0xc]
call fcn.0046cc10
test eax, eax
jne 0x481675
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 0x4e]
mov edx, dword [eax*8 + 0x5155ec]
jmp 0x480f31
mov ecx, dword [esp + 4]
mov dword [esp + 0x88], eax
dec eax
mov edx, 0x45
push 0
push 1
push eax
call fcn.0046c5a0
add esp, 0xc
cmp dword [edi + 0x14], 0
jle 0x480e48
mov eax, dword [esp]
and byte [esp + 0x54], 0xdf
mov dword [esp + 0x4c], 0
or dword [esp + 0x60], eax
mov eax, dword [esp + 4]
lea edx, [eax + 0x6c]
lea ecx, [eax + 0x68]
add eax, 0x70
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 0x14], edx
jmp 0x47fb47
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
inc ecx
cmp ecx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
jge 0x480e48
cmp dword [esp + 0x60], 0
js 0x47fb58
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x60]
jne 0x47fb31
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.0048f7c0
mov eax, dword [esp + 0x10]
shl esi, 4
mov dword [esp + 0x30], esi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x47fbc0
xor edi, edi
xor ecx, ecx
jmp 0x47fb99
add ecx, edx
xor esi, esi
mov eax, dword [eax]
cmp esi, edi
cmovge edi, esi
test eax, eax
je 0x47fbc4
mov esi, dword [eax + 8]
xor edx, edx
test byte [esi + 0x24], 0x80
mov ebx, dword [esi + 8]
sete dl
test ebx, ebx
je 0x47fb8a
xor esi, esi
nop
mov ebx, dword [ebx + 0x14]
inc esi
test ebx, ebx
jne 0x47fbb0
add edx, ecx
add edx, esi
mov ecx, edx
jmp 0x47fb8e
xor ecx, ecx
xor edi, edi
lea edx, [ecx*4 + 4]
mov ecx, dword [esp + 0x10]
push 0
call fcn.00435490
add esp, 4
test eax, eax
je 0x480e48
mov esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
xor eax, eax
test ecx, ecx
je 0x47fc25
mov edx, dword [ecx + 8]
cmp byte [edx + 0x24], 0
js 0x47fc01
mov ebx, dword [edx + 0x1c]
mov dword [esi + eax*4 + 4], ebx
inc eax
mov edx, dword [edx + 8]
test edx, edx
je 0x47fc1f
nop dword [eax + eax]
mov ebx, dword [edx + 0x2c]
mov dword [esi + eax*4 + 4], ebx
inc eax
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x47fc10
mov ecx, dword [ecx]
test ecx, ecx
jne 0x47fbf0
mov edx, dword [esp + 0xc]
mov dword [esi], eax
mov ebx, dword [esp + 4]
add edi, 8
mov ecx, dword [edx + 0x2c]
cmp ecx, edi
cmovge edi, ecx
mov ecx, ebx
mov dword [edx + 0x2c], edi
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
mov edx, 0x92
push 1
push eax
push 2
call fcn.0046c5a0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff1
push esi
call fcn.0042b420
add esp, 8
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x47fc85
mov edx, dword [esp + 8]
movzx ecx, byte [esp + 0x4c]
lea eax, [eax + eax*4]
mov edx, dword [edx]
mov word [edx + eax*4 - 0x12], cx
mov ecx, ebx
mov edx, 0x32
push 0
push 0
push 2
call fcn.0046c5a0
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edx, dword [esp + 0x30]
mov eax, dword [ecx + 0x10]
push dword [eax + edx]
push str._in_database__s__n
push ecx
call fcn.0042b0f0
add esp, 0xc
mov ecx, ebx
mov edi, eax
mov edx, 0x73
push 0
push 3
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff9
push edi
call fcn.0042b420
add esp, 8
mov ecx, ebx
mov edx, 0x6e
push 3
push 3
push 2
call fcn.0046c5a0
add esp, 0xc
mov ecx, ebx
call fcn.004c6a70
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x47fd1e
lea ecx, [eax - 1]
test esi, esi
mov edx, dword [esp + 8]
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
jmp 0x47fd33
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
test eax, eax
je 0x47fb31
mov dword [esp + 0x64], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], 0xffffffff
cmp dword [eax + 0x1c], 0
jle 0x47fd2d
cmp byte [eax + 0x24], 0
mov edx, eax
mov dword [esp + 0x38], 0
js 0x47ff77
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x5c]
mov dword [esp + 0x30], edx
push eax
lea eax, [esp + 0x44]
push eax
push 0
push 1
push 0
push 0x60
call fcn.004bb540
add esp, 0x18
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x47fdd6
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x45
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], 7
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x47fdef
mov edx, 0x45
mov ecx, ebx
push 0
push 7
push 0
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 8]
test esi, esi
je 0x47fe6c
mov edi, 8
jmp 0x47fe49
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x45
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
mov esi, dword [esi + 0x14]
inc edi
test esi, esi
je 0x47fe6c
mov eax, dword [edx]
mov ecx, dword [esp]
cmp dword [ecx], eax
jg 0x47fe10
mov edx, 0x45
mov ecx, ebx
push 0
push edi
push 0
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x47fe41
mov ecx, dword [edx]
mov esi, dword [esp]
mov eax, dword [esp + 0x40]
cmp dword [esi], ecx
mov esi, edx
jle 0x47feae
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], edx
mov edx, dword [esp + 8]
mov edx, dword [edx]
mov dword [edx + ecx*4], 0x25
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 0
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x47fec2
mov ecx, ebx
mov edx, 0x25
push 0
push 0
push eax
call fcn.0046c600
add esp, 0xc
mov ecx, dword [esi]
mov eax, dword [esp]
cmp dword [eax], ecx
jle 0x47ff08
lea eax, [ecx + 1]
mov edx, esi
mov dword [esp + 0x44], ecx
lea ecx, [ecx + ecx*4]
mov dword [esi], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x47ff25
mov edx, 0x52
mov ecx, ebx
push 0
push 1
push 7
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x44], eax
cmp byte [esp + 0x54], 0x51
je 0x47ffcc
mov ecx, dword [esp + 0x30]
mov edi, dword [esp]
mov eax, dword [esp + 0x40]
movsx esi, word [ecx + 0x2c]
mov ecx, dword [edx]
dec esi
cmp dword [edi], ecx
mov edi, edx
jle 0x47ffa3
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi], edx
mov edx, dword [esp + 8]
mov edx, dword [edx]
mov dword [edx + ecx*4], 0x59
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], 3
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x47ffb6
mov eax, dword [edx + 8]
test eax, eax
je 0x47fd6c
mov ebx, dword [esp + 4]
movzx ecx, word [eax + 0x37]
and ecx, 3
cmp cx, 2
je 0x480214
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x47ff86
jmp 0x47fd70
mov ecx, ebx
mov edx, 0x59
push 3
push esi
push eax
call fcn.0046c600
add esp, 0xc
mov eax, dword [edi]
test eax, eax
jle 0x47ffcc
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
mov word [ecx + eax*4 - 0x12], 0x80
mov edx, dword [esp + 0x30]
movzx eax, word [edx + 0x2a]
test ax, ax
jle 0x4801d6
xor ebx, ebx
xor edi, edi
jmp 0x47fffd
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], eax
movzx eax, word [edx + 0x2a]
inc edi
movsx ecx, ax
add ebx, 0x14
cmp edi, ecx
jge 0x4801d6
movsx ecx, word [edx + 0x28]
cmp edi, ecx
je 0x47ffee
mov ecx, dword [edx + 4]
cmp byte [ecx + ebx + 0xc], 0
je 0x47ffee
mov esi, dword [esp + 4]
mov ecx, esi
push 3
push edi
push dword [esp + 0x48]
call fcn.0048be20
add esp, 0xc
mov edx, dword [esi]
mov esi, dword [esi + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
lea eax, [esi - 1]
jne 0x480043
mov edx, dword [esp + 8]
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx]
mov edx, dword [esp + 0x14]
test esi, esi
jle 0x480062
cmp byte [ecx], 0x59
jne 0x480062
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
mov word [ecx + eax*4 + 2], pe_nt_image_headers32
mov esi, dword [edx]
mov eax, dword [esp]
cmp dword [eax], esi
jle 0x4800a6
lea eax, [esi + 1]
mov dword [esp + 0x2c], esi
lea ecx, [esi + esi*4]
mov esi, edx
mov dword [edx], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4800c3
mov ecx, dword [esp + 4]
mov esi, edx
mov edx, 0x33
push 0
push 0
push 3
call fcn.0046c600
add esp, 0xc
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
push dword [eax + ebx]
push dword [ecx]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.0042b0f0
add esp, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov ecx, dword [esp]
cmp dword [ecx], eax
jle 0x480128
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov dword [esi], ecx
mov ecx, dword [esp + 8]
mov esi, dword [esp + 4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x73
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 3
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480141
mov esi, dword [esp + 4]
mov edx, 0x73
mov ecx, esi
push 0
push 3
push 0
call fcn.0046c600
add esp, 0xc
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x480158
mov edx, dword [esp + 0x24]
test edx, edx
je 0x48019a
call fcn.004352c0
jmp 0x48019a
mov esi, dword [esp + 0x24]
test eax, eax
jns 0x480167
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
cmp byte [ecx + eax*4 + 1], 0
je 0x48018b
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 4]
push 0xfffffffffffffff9
push esi
call fcn.0046c7f0
add esp, 8
jmp 0x48019a
test esi, esi
je 0x48019a
lea edx, [ecx + eax*4 + 1]
mov dword [ecx + eax*4 + 0x10], esi
mov byte [edx], 0xf9
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.004c6a70
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x47ffe3
mov edx, dword [esp + 0x2c]
lea ecx, [eax - 1]
mov esi, dword [esp + 8]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi]
jmp 0x47ffe3
mov edx, dword [edx + 0x18]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test edx, edx
je 0x4802f9
test byte [esi + 0x21], 2
jne 0x4802f9
mov ecx, esi
push 0
call fcn.00490140
add esp, 4
cmp byte [esi + 0x51], 0
mov edx, eax
je 0x48021d
test edx, edx
jne 0x4802f2
jmp 0x4802f9
mov dword [esp + 0x38], eax
jmp 0x47fd70
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], edx
mov eax, dword [ebx + 0x38]
lea ecx, [eax - 1]
add eax, 0xfffffffe
mov dword [ebx + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x40]
inc eax
mov dword [ebx + 0x34], eax
mov eax, dword [edx]
cmp eax, 2
jl 0x480270
mov ecx, dword [esp + 0x2c]
lea edi, [eax + 1]
shl eax, 4
lea esi, [ecx + eax - 0xc]
push 0
push dword [esp + 0x28]
push dword [esi]
push ebx
call fcn.0048b810
add esp, 0x10
dec edi
add esi, 0xfffffff0
cmp edi, 2
jg 0x480256
push 0x10
push dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push dword [eax + 4]
push ebx
call fcn.00490c40
add esp, 0x10
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0048b2b0
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x34], 0
push dword [eax]
push str.CHECK_constraint_failed_in__s
mov esi, dword [esp + 0x18]
push esi
call fcn.0042b0f0
add esp, 0xc
mov ebx, eax
mov edx, 0x73
mov ecx, edi
push 0
push 3
push 0
call fcn.0046c5a0
add esp, 0xc
mov edx, eax
mov ecx, edi
push 0xfffffffffffffff9
push ebx
mov ebx, edi
call fcn.0042b420
add esp, 8
mov ecx, edi
call fcn.004c6a70
mov edx, dword [esp + 0x34]
mov ecx, edi
call fcn.0048b2b0
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.0046a010
cmp byte [esp + 0x54], 0x51
jne 0x48034b
mov esi, dword [esp + 0x14]
mov edx, dword [esp]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi]
cmp dword [edx], ecx
jle 0x480b75
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], edx
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x44]
mov edx, dword [edx]
mov dword [edx + ecx*4], 5
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x480b8b
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov esi, dword [eax + 8]
test esi, esi
je 0x480b33
xor eax, eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x34], 0
jmp 0x480390
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x14]
mov eax, esi
mov esi, dword [esi + 0x14]
inc dword [esp + 0x34]
test esi, esi
je 0x480b33
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], 0xffffffff
mov edi, dword [ecx + 0x38]
dec edi
cmp dword [esp + 0x38], esi
mov dword [ecx + 0x38], edi
je 0x480381
mov ebx, edx
mov edx, esi
push dword [esp + 0x24]
push eax
lea eax, [esp + 0x74]
push eax
push 0
push 0
push dword [esp + 0x54]
call fcn.0049abb0
add esp, 0x18
mov ecx, dword [ebx]
mov edx, dword [esp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
cmp dword [edx], ecx
lea eax, [eax + 8]
jle 0x48040e
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebx], edx
mov edx, dword [esp + 8]
mov edx, dword [edx]
mov dword [edx + ecx*4], 0x52
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 1
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x480424
mov ecx, dword [esp + 4]
mov edx, 0x52
push 0
push 1
push eax
call fcn.0046c600
add esp, 0xc
movzx ecx, word [esi + 0x34]
mov eax, dword [esp + 0x5c]
mov edx, dword [ebx]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp]
add eax, dword [esp + 0x34]
cmp dword [ecx], edx
jle 0x480476
lea ecx, [edx + 1]
mov dword [esp + 0x2c], edx
mov dword [ebx], ecx
mov ecx, dword [esp + 8]
mov ebx, edx
lea edx, [edx + edx*4]
mov ebx, dword [esp + 4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x1e
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], edi
mov edi, dword [esp + 0x24]
mov dword [ecx + edx*4 + 0xc], edi
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480493
mov ebx, dword [esp + 4]
mov edx, 0x1e
mov ecx, ebx
push dword [esp + 0x24]
push edi
push eax
call fcn.0046c600
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
jne 0x4804b5
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x4804fd
lea ecx, [eax + 1]
mov ebx, dword [esp + 4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
lea edx, [eax + eax*4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x73
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 3
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480516
mov ebx, dword [esp + 4]
mov edx, 0x73
mov ecx, ebx
push 0
push 3
push 0
call fcn.0046c600
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x480543
test eax, eax
jns 0x480529
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
lea edx, [eax + eax*4]
mov ecx, ebx
shl edx, 2
add edx, dword [ebx + 0x68]
push 0
push str.row
call fcn.0046c7f0
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x480587
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x6e
mov dword [ecx + eax*4 + 4], 7
mov dword [ecx + eax*4 + 8], 3
mov dword [ecx + eax*4 + 0xc], 3
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x4805a0
mov edx, 0x6e
mov ecx, ebx
push 3
push 3
push 7
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [edx]
mov ecx, dword [esp]
cmp dword [ecx], eax
jle 0x4805e0
lea ecx, [eax + 1]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
lea edx, [eax + eax*4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x73
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 4
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x4805f5
mov ecx, ebx
mov edx, 0x73
push 0
push 4
push 0
call fcn.0046c600
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x480622
test eax, eax
jns 0x480608
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
lea edx, [eax + eax*4]
mov ecx, ebx
shl edx, 2
add edx, dword [ebx + 0x68]
push 0
push str._missing_from_index
call fcn.0046c7f0
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x480666
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x6e
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 3
mov dword [ecx + eax*4 + 0xc], 3
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x48067f
mov edx, 0x6e
mov ecx, ebx
push 3
push 3
push 4
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [edx]
mov eax, dword [esp]
mov edi, dword [esi]
cmp dword [eax], ecx
jle 0x4806c5
lea eax, [ecx + 1]
mov dword [esp + 0x3c], ecx
lea ecx, [ecx + ecx*4]
mov dword [edx], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4806e2
mov edx, 0x73
mov ecx, ebx
push 0
push 4
push 0
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x3c], eax
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
jne 0x48070f
mov eax, dword [esp + 0x3c]
test eax, eax
jns 0x4806f5
mov eax, dword [edx]
dec eax
lea edx, [eax + eax*4]
mov ecx, ebx
shl edx, 2
add edx, dword [ebx + 0x68]
push 0
push edi
call fcn.0046c7f0
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [edx]
mov ecx, dword [esp]
cmp dword [ecx], eax
jle 0x48074f
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x6e
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 3
mov dword [ecx + eax*4 + 0xc], 3
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x480764
mov ecx, ebx
mov edx, 0x6e
push 3
push 3
push 4
call fcn.0046c600
add esp, 0xc
mov ecx, ebx
call fcn.004c6a70
mov edx, dword [ebx]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x480797
mov edx, dword [esp + 0x2c]
lea ecx, [eax - 1]
mov edi, dword [esp + 8]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi]
mov dword [ecx + 8], eax
cmp byte [esi + 0x36], 0
je 0x480ad6
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x58], ecx
dec ecx
mov dword [eax + 0x38], ecx
mov dword [esp + 0x2c], ecx
cmp word [esi + 0x32], 0
je 0x480855
xor ebx, ebx
jmp 0x48080c
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi], edx
mov edx, dword [esp + 8]
mov edx, dword [edx]
mov dword [edx + ecx*4], 0x32
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
mov edx, edi
movzx eax, word [esi + 0x32]
inc ebx
cmp ebx, eax
jae 0x480855
mov eax, dword [esi + 4]
movzx eax, word [eax + ebx*2]
test ax, ax
js 0x480829
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + eax*4 + 0xc], 0
jne 0x480803
mov ecx, dword [edx]
mov edi, dword [esp]
mov eax, dword [esp + 0x24]
cmp dword [edi], ecx
lea eax, [eax + ebx]
mov edi, edx
jg 0x4807d0
mov ecx, dword [esp + 4]
mov edx, 0x32
push 0
push dword [esp + 0x30]
push eax
call fcn.0046c600
add esp, 0xc
jmp 0x480801
mov eax, dword [esp + 0x5c]
mov edi, dword [edx]
mov ecx, dword [esp]
add eax, dword [esp + 0x34]
cmp dword [ecx], edi
jle 0x48089b
lea ecx, [edi + 1]
mov ebx, edx
mov dword [edx], ecx
mov ecx, dword [esp + 8]
lea edx, [edi + edi*4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 5
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], 0
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x4808b5
mov ecx, dword [esp + 4]
mov ebx, edx
mov edx, 5
push 0
push 0
push eax
call fcn.0046c600
add esp, 0xc
mov edi, eax
mov eax, dword [ebx]
mov ecx, dword [esp]
cmp dword [ecx], eax
jle 0x4808f9
lea ecx, [eax + 1]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
mov dword [ebx], ecx
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x480914
mov ebx, dword [esp + 4]
mov edx, 0xb
mov ecx, ebx
push 0
push dword [esp + 0x30]
push 0
call fcn.0046c600
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x480938
lea ecx, [eax - 1]
test edi, edi
mov edx, dword [esp + 8]
cmovns ecx, edi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
movzx eax, word [esi + 0x32]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
mov eax, dword [edx]
add ebx, dword [esp + 0x34]
cmp dword [ecx], eax
jle 0x48098f
lea ecx, [eax + 1]
mov edi, dword [esp + 0x2c]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
lea edx, [eax + eax*4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x27
mov dword [ecx + edx*4 + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [ecx + edx*4 + 8], edi
mov dword [ecx + edx*4 + 0xc], ebx
mov ebx, dword [esp + 4]
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x4809ad
mov edi, dword [esp + 4]
mov edx, 0x27
mov ecx, edi
push dword [esp + 0x24]
push dword [esp + 0x30]
push ebx
call fcn.0046c600
mov ebx, edi
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x4809cb
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x68]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x480a0f
lea ecx, [eax + 1]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
lea edx, [eax + eax*4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x73
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 3
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480a24
mov ecx, ebx
mov edx, 0x73
push 0
push 3
push 0
call fcn.0046c600
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x480a51
test eax, eax
jns 0x480a37
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
lea edx, [eax + eax*4]
mov ecx, ebx
shl edx, 2
add edx, dword [ebx + 0x68]
push 0
push str.non_unique_entry_in_index
call fcn.0046c7f0
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x480a95
lea ecx, [eax + 1]
mov edi, dword [esp + 0x3c]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], 0
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x480ab0
mov edx, 0xb
mov ecx, ebx
push 0
push dword [esp + 0x40]
push 0
call fcn.0046c600
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [ebx + 0xc]
mov edi, dword [esp + 0x58]
mov eax, dword [ecx + 0x38]
neg edi
add eax, dword [ecx + 0x3c]
js 0x480acb
mov eax, dword [edx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
jmp 0x480ad6
mov edx, ebx
push edi
call fcn.0048f970
add esp, 4
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x480afe
mov edx, dword [esp + 0x50]
lea ecx, [eax - 1]
mov edi, dword [esp + 8]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x48037b
mov ecx, dword [esp + 0xc]
not eax
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov edi, dword [ecx + 0x38]
add edi, dword [ecx + 0x3c]
jns 0x480372
push eax
call fcn.0048f970
add esp, 4
jmp 0x48037b
mov ecx, dword [edx]
mov esi, dword [esp]
mov eax, dword [esp + 0x40]
cmp dword [esi], ecx
jle 0x480bba
mov esi, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], edx
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x44]
mov edx, dword [edx]
mov dword [edx + ecx*4], 5
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x480bd0
mov ecx, ebx
mov edx, 5
push 0
push dword [esp + 0x48]
push eax
call fcn.0046c600
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x47fd2a
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x44]
mov edx, dword [edx]
test ecx, ecx
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4 - 0x14]
jmp 0x47fd2a
mov ecx, ebx
mov edx, 5
push 0
push dword [esp + 0x48]
push eax
call fcn.0046c600
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x480bf6
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x44]
mov edx, dword [edx]
test ecx, ecx
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4 - 0x14]
mov edx, 0x73
mov dword [ecx + 8], eax
mov ecx, ebx
push 0
push 2
push 0
call fcn.0046c5a0
add esp, 0xc
mov edx, eax
mov ecx, ebx
push 0
push str.wrong__of_entries_in_index
call fcn.0042b420
add esp, 8
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + 8]
test edi, edi
je 0x47fd2d
xor ebx, ebx
jmp 0x480c4b
mov edx, dword [esp + 0x14]
mov dword [ecx + 8], eax
mov edi, dword [edi + 0x14]
inc ebx
test edi, edi
je 0x47fd2d
cmp dword [esp + 0x38], edi
je 0x480c3f
mov eax, dword [esp + 0x5c]
mov ecx, dword [edx]
mov esi, dword [esp]
add eax, ebx
cmp dword [esi], ecx
mov esi, edx
jle 0x480c95
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi], edx
mov edx, dword [esp + 8]
mov edx, dword [edx]
mov dword [edx + ecx*4], 0x5c
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 3
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x480cab
mov ecx, dword [esp + 4]
mov edx, 0x5c
push 0
push 3
push eax
call fcn.0046c600
add esp, 0xc
mov edx, dword [esi]
mov ecx, dword [esp]
lea eax, [ebx + 8]
cmp dword [ecx], edx
jle 0x480cee
lea ecx, [edx + 1]
mov dword [esp + 0x24], edx
lea edx, [edx + edx*4]
mov dword [esi], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x35
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], 0
mov dword [ecx + edx*4 + 0xc], 3
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480d08
mov ecx, dword [esp + 4]
mov edx, 0x35
push 3
push 0
push eax
call fcn.0046c600
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esi]
test eax, eax
jle 0x480d20
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
mov word [ecx + eax*4 - 0x12], 0x90
mov eax, dword [esi]
mov edx, dword [esp]
mov ecx, dword [edi]
cmp dword [edx], eax
mov dword [esp + 0x30], ecx
jle 0x480d68
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov dword [esi], ecx
mov ecx, dword [esp + 8]
mov esi, dword [esp + 4]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], 0x73
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 4
mov dword [ecx + edx*4 + 0xc], 0
mov dword [ecx + edx*4 + 0x10], 0
jmp 0x480d81
mov esi, dword [esp + 4]
mov edx, 0x73
mov ecx, esi
push 0
push 4
push 0
call fcn.0046c600
add esp, 0xc
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
jne 0x480daf
test eax, eax
jns 0x480d94
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
dec eax
mov ecx, dword [esp + 4]
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
push 0
push dword [esp + 0x34]
call fcn.0046c7f0
add esp, 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov eax, dword [edx]
cmp dword [ecx], eax
jle 0x480df7
lea ecx, [eax + 1]
mov esi, dword [esp + 4]
lea eax, [eax + eax*4]
mov dword [edx], ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [ecx + eax*4], 0x6e
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 2
mov dword [ecx + eax*4 + 0xc], 3
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x480e10
mov esi, dword [esp + 4]
mov edx, 0x6e
mov ecx, esi
push 3
push 2
push 4
call fcn.0046c600
add esp, 0xc
mov ecx, esi
call fcn.004c6a70
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x480c38
mov edx, dword [esp + 0x24]
lea ecx, [eax - 1]
mov esi, dword [esp + 8]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi]
jmp 0x480c38
mov esi, dword [esp + 4]
mov edx, 7
mov ecx, esi
push 0x5155cd
call fcn.0042b210
add esp, 4
test eax, eax
je 0x480e89
mov ecx, 1
sub ecx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov byte [eax + 0x29], 0xff
mov dword [eax + 0x38], 0x5155e9
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esi + 0x6c]
mov edx, dword [esi]
mov ecx, 0x51ea94
add eax, 0xfffffffe
cmp byte [edx + 0x51], 0
jne 0x480e9f
mov ecx, dword [esi + 0x68]
mov dword [ecx + 0xc], eax
jmp 0x47f85e
mov ecx, dword [esp + 0xc]
mov esi, 0xfffe
mov eax, dword [ecx + 0x28]
mov edx, dword [esp]
test edi, edi
mov dword [esp + 0x30], eax
lea eax, [eax + 1]
mov dword [ecx + 0x28], eax
mov eax, edx
jne 0x480ece
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
cmp edx, eax
jle 0x480f3f
mov ecx, dword [esp + 4]
mov edx, 0x9e
push 0
push 0
push 0
jmp 0x481b9f
test esi, esi
je 0x481661
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x24]
jmp 0x481663
mov ebx, dword [esp + 4]
mov edx, 0xffffffff
jmp 0x4813a0
mov eax, dword [esp]
mov ecx, dword [esp + 8]
shl eax, 4
movzx edx, byte [ecx + eax + 8]
dec edx
jmp 0x481663
movzx edx, byte [edi + 0x50]
mov ecx, dword [esp + 4]
push 0
jmp 0x48166d
mov edx, dword [0x51e984]
mov ecx, dword [esp + 4]
call fcn.004c6080
jmp 0x481675
and esi, 1
mov dword [esp + 0x34], eax
lea ecx, [esi + 2]
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], ecx
jmp 0x480f62
mov eax, dword [esp + 0x34]
cmp edx, eax
lea edx, [edx + 1]
je 0x480ed2
cmp edx, 1
je 0x480f53
mov dword [esp], edx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp]
call fcn.0048f7c0
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
mov eax, dword [eax + 0x10]
mov ecx, edx
shl ecx, 4
mov dword [esp + 8], ecx
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
jmp 0x480fbf
mov esi, dword [esp + 4]
mov edx, 0x8c
mov ecx, esi
push 0
push 0
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff9
push edi
call fcn.0042b420
add esp, 8
mov edx, dword [esp]
mov ebx, dword [ebx]
test ebx, ebx
je 0x480f53
mov edi, dword [ebx + 8]
test byte [edi + 0x25], 1
je 0x480fbd
movzx esi, word [edi + 0x2e]
mov eax, dword [edi + 8]
test eax, eax
je 0x480ff1
nop word [eax + eax]
cmp byte [eax + 0x37], 0
jns 0x481071
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x480fe0
add esi, 0x2e
test si, si
je 0x481071
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
push 0x60
push edi
push dword [esp + 8]
call fcn.00486200
add esp, 0xc
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x2c]
movsx esi, si
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
lea edx, [eax + edx]
mov dword [esp + 0x24], edx
jle 0x48105b
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x30]
mov dword [edx + ecx*4], 0x22
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x24]
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], esi
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x481071
mov edx, 0x22
push esi
push dword [esp + 0x28]
push dword [esp + 0x38]
call fcn.0046c600
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
push dword [edi]
mov edx, dword [esp + 0xc]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.0042b0f0
add esp, 0x10
cmp dword [esp + 0x14], 0
mov edi, eax
je 0x480f92
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], edi
mov al, byte [ecx + 0x13]
test al, al
je 0x4810bc
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0x94]
jmp 0x4810c3
mov esi, dword [ecx + 0x2c]
inc esi
mov dword [ecx + 0x2c], esi
mov edi, dword [esp + 4]
mov edx, 0x73
mov ecx, edi
push 0
push esi
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff9
push dword [esp + 0x28]
call fcn.0042b420
add esp, 8
mov ecx, edi
mov edx, 0x50
push 0
push 1
push esi
call fcn.0046c5a0
add esp, 0xc
jmp 0x480fba
mov edx, 1
mov ecx, esi
push 0
call fcn.004c6680
add esp, 4
xor edx, edx
test al, al
setne dl
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x481366
mov ecx, dword [esp + 8]
jmp 0x4813a0
xor eax, eax
jmp 0x48114c
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481487
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.restart]
cmp cl, dl
jne 0x481138
test cl, cl
jne 0x48114b
mov eax, 2
jmp 0x4814b7
mov ecx, edi
mov eax, esi
xor edi, 0x80000
not ecx
not eax
and dword [ebx + 0x20], ecx
and dword [ebx + 0x24], eax
or edi, esi
mov esi, ebx
jne 0x481197
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f0], 0
mov ecx, dword [esp + 4]
mov edx, 0x9e
push 0
push 0
push 0
call fcn.0046c5a0
add esp, 0xc
mov ecx, esi
call fcn.004c64a0
jmp 0x481725
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
xor eax, eax
test esi, esi
mov edx, 1
setne al
push eax
call fcn.004c6680
add esp, 4
mov edx, dword [edi + 0x20]
xor ecx, ecx
test al, al
setne cl
shl ecx, 5
and edx, 0xffffffdf
or ecx, edx
mov dword [edi + 0x20], ecx
mov ecx, edi
call fcn.004c64a0
jmp 0x481725
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041bf30
add esp, 8
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp ecx, 1
mov edi, esi
sbb edi, 0
jl 0x47f1cb
mov edi, eax
or edi, edx
je 0x48122c
cmp ecx, eax
mov edi, esi
sbb edi, edx
jge 0x47f1cb
push esi
push ecx
call fcn.0041bf30
add esp, 8
jmp 0x47f1cb
mov ecx, dword [esp + 0xc]
mov edx, 2
push ebx
push esi
call fcn.0042a6e0
add esp, 8
test eax, eax
je 0x481725
cmp byte [eax + 0x24], 0
jns 0x481725
mov edi, dword [eax + 8]
test edi, edi
je 0x481725
movzx eax, word [edi + 0x37]
and eax, 3
cmp ax, 2
je 0x47f2d5
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x48126b
jmp 0x47f85e
mov eax, dword [0x51d254]
mov ecx, dword [0x51d250]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
mov edx, dword [esp]
jne 0x4812ad
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], eax
mov esi, dword [edi + 0x14]
test esi, esi
jle 0x4812ff
lea ebx, [esi + 1]
shl esi, 4
neg edx
add esi, 0xfffffff4
jmp 0x4812e2
mov edi, edx
mov edx, dword [esp + 0x18]
push dword [esp + 0x1c]
call fcn.004c64f0
mov edx, edi
mov edi, dword [esp + 0x14]
add esp, 4
dec ebx
add esi, 0xfffffff0
cmp ebx, 1
jle 0x4812ff
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x4812d9
lea eax, [edx + ebx]
cmp eax, 2
je 0x4812c1
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x4812d9
jmp 0x4812c1
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
push eax
push 0x12
push dword [esp + 0x40]
push edi
call fcn.00433a50
add esp, 0x10
cmp eax, 0xc
je 0x47f85e
test eax, eax
jne 0x481341
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 4]
push dword [esp + 0x1c]
jmp 0x47f856
mov ecx, dword [esp + 0xc]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x47f85e
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x10]
call fcn.0042af90
add esp, 8
jmp 0x481725
cmp dword [edi + 0x14], 0
jle 0x4819ae
mov ebx, dword [esp + 0x10]
xor edi, edi
mov esi, 4
mov dword [esp], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [esp]
mov ecx, dword [eax + esi]
call fcn.004c6310
inc edi
add esi, 0x10
cmp edi, dword [ebx + 0x14]
jl 0x48137e
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
call fcn.004c6310
mov ecx, ebx
mov edx, eax
push 0
jmp 0x47f856
xor eax, eax
mov edi, dword [esp + 4]
mov edx, 0xa9
mov ecx, edi
push eax
push esi
push dword [esp + 8]
call fcn.0046c5a0
add esp, 0xc
mov ecx, edi
mov edx, 0x50
push 0
push 1
push esi
jmp 0x481b9f
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x53], al
mov ecx, dword [esp]
mov edx, dword [esp + 8]
shl ecx, 4
test eax, eax
mov ecx, dword [edx + ecx + 4]
mov ecx, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, dword [esp + 4]
js 0x481417
cmp byte [esi + 0xc], 0
jne 0x481417
mov edx, dword [esi + 0xd8]
test edx, edx
je 0x481414
cmp byte [edx + 0x2b], 2
je 0x481417
mov byte [esi + 4], al
add esi, 4
cmp byte [esi], 1
mov eax, str.exclusive
mov edx, str.normal
cmove edx, eax
call fcn.004c6080
jmp 0x47f85e
mov dword [0x51e980], 0
jmp 0x481725
mov dword [0x51e984], 0
jmp 0x481725
xor eax, eax
jmp 0x48146a
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x4819b7
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_8]
cmp cl, dl
jne 0x481456
test cl, cl
jne 0x481469
mov esi, 0x5155f4
jmp 0x481ce3
xor eax, eax
jmp 0x48149b
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x4814b5
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.truncate]
cmp cl, dl
jne 0x48148b
test cl, cl
jne 0x48149a
mov eax, 3
jmp 0x4814b7
xor eax, eax
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov edx, 6
mov dword [ecx + 0x2c], 3
mov ecx, esi
push 1
push eax
push edi
call fcn.0046c5a0
add esp, 0xc
mov ecx, esi
mov edx, 0x50
push 0
push 3
jmp 0x481b9d
mov edx, 0xfff0bdc0
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x50fc6c]
mov ecx, dword [eax + 0x50fc68]
xor eax, eax
mov dword [esp + 8], ecx
or ecx, ebx
mov dword [esp], ebx
setne al
lea ecx, [eax + eax*2 + 3]
movzx ebx, word [edi + eax*2 + 0x32]
mov dword [esi + 0x2c], ecx
mov ecx, esi
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], eax
call fcn.0048f7c0
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x47f85e
mov ebx, dword [esp + 4]
xor esi, esi
jmp 0x48155f
mov ecx, ebx
mov edx, 0x50
push 0
mov eax, dword [esp + 0x10]
push dword [eax + 0x2c]
push 1
call fcn.0046c5a0
add esp, 0xc
inc esi
cmp dword [esp + 0x14], esi
je 0x47f85e
mov eax, dword [edi + 4]
mov ecx, 0
movsx eax, word [eax + esi*2]
test eax, eax
js 0x48157c
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + edx*4]
push ecx
push eax
push esi
push str.iisX
push 1
push ebx
call fcn.004c6780
add esp, 0x18
mov eax, dword [esp + 8]
or eax, dword [esp]
je 0x48153a
mov eax, dword [edi + 0x1c]
movzx ecx, word [edi + 0x32]
xor edx, edx
cmp esi, ecx
mov ecx, dword [edi + 0x20]
movzx eax, byte [eax + esi]
setb dl
push edx
push dword [ecx + esi*4]
push eax
push str.isiX
push 4
push ebx
call fcn.004c6780
add esp, 0x18
jmp 0x48153a
mov edx, 0xfff0bdc0
mov ecx, edi
mov dword [edi + 0x2c], 5
call fcn.0048f7c0
mov esi, dword [esi + 8]
test esi, esi
je 0x47f85e
xor edi, edi
xor eax, eax
cmp byte [esi + 0x36], 0
movzx ecx, word [esi + 0x37]
setne al
and ecx, 3
xor edx, edx
cmp dword [esi + 0x24], 0
setne dl
push edx
push dword [ecx*4 + 0x515504]
push eax
push dword [esi]
push edi
push str.isisi
push 1
push dword [esp + 0x20]
call fcn.004c6780
add esp, 0x20
mov esi, dword [esi + 0x14]
inc edi
test esi, esi
jne 0x4815e7
jmp 0x47f85e
mov edx, 0xfff0bdc0
mov eax, dword [esi + 8]
mov dword [esp + 0x38], 0
test eax, eax
je 0x48173f
movzx ecx, word [eax + 0x37]
and ecx, 3
cmp cx, 2
je 0x48173b
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x481644
jmp 0x48173f
xor edx, edx
mov ecx, dword [esp + 4]
mov eax, edx
sar eax, 0x1f
push eax
call fcn.004c61f0
add esp, 4
mov edx, dword [esp + 0x48]
mov ecx, edi
jmp 0x47f877
movzx ecx, byte [ecx + str.delete]
xor edx, edx
mov bl, byte [ecx + 0x50ce7b]
movzx ecx, bl
mov dword [esp + 8], 0
cmp edx, ecx
je 0x481af6
mov edx, dword [esp + 0x28]
xor ecx, ecx
movzx edx, byte [edx + ecx]
test edx, edx
je 0x4819ec
movzx esi, byte [ecx + str.persist]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x4819fb
mov edx, dword [esp + 0x28]
inc ecx
cmp eax, ecx
jne 0x4816a8
mov dword [esp + 8], 1
jmp 0x481a0a
mov ecx, ebx
mov edx, 2
push 0x515687
call fcn.0042b210
add esp, 4
mov esi, eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x18]
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
mov dword [esp + 0x18], 0
call fcn.004692d0
mov eax, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
call fcn.004352c0
mov edx, dword [esp + 0x28]
jmp 0x47f873
mov dword [esp + 0x38], eax
mov ecx, edi
mov dword [edi + 0x2c], 7
call fcn.0048f7c0
mov ecx, edi
mov edx, esi
call fcn.00497e50
movzx edx, word [esi + 0x2a]
mov dword [esp + 0x50], esi
test dx, dx
jle 0x47f85e
mov ecx, dword [esp + 0x50]
movzx eax, dx
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov edi, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + 0x50fc68]
mov dword [esp + 0x34], ecx
jmp 0x4817c8
push dword [esp + 0x30]
push esi
push eax
push edx
push dword [esp + 0x1c]
push dword [esp + 0x14]
push ecx
push dword [esp + 0x30]
push 1
push dword [esp + 0x28]
call fcn.004c6780
add esp, 0x28
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 8]
movzx edx, word [eax + 0x2a]
inc ebx
movsx eax, dx
add edi, 0x14
cmp ebx, eax
jge 0x47f85e
movzx ecx, word [edi + 0x10]
test cl, 0x62
je 0x481801
mov word [esp], dx
mov edx, dword [esp + 0x34]
mov esi, dword [edx]
or esi, dword [edx + 4]
je 0x481811
test cl, 0x20
jne 0x48181b
mov edx, ecx
mov esi, ecx
and edx, 0x40
sete cl
shr edx, 5
mov dword [esp + 0x2c], ecx
mov ecx, esi
or edx, 1
mov dword [esp + 0x30], edx
jmp 0x48182b
mov dl, 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], edx
jmp 0x48182b
inc dword [esp + 0x3c]
movzx edx, word [esp]
jmp 0x4817b9
mov dword [esp + 0x30], 2
mov dword [esp + 0x2c], 0
mov esi, ecx
mov dword [esp + 8], edi
and esi, 1
cmp dword [esp + 0x38], 0
je 0x481879
test si, si
je 0x481879
test eax, eax
jle 0x481874
mov edx, dword [esp + 0x38]
lea esi, [eax + 1]
neg eax
mov dword [esp], esi
mov esi, 1
mov edx, dword [edx + 4]
movsx edi, word [edx + esi*2 - 2]
cmp ebx, edi
je 0x48186e
lea edi, [eax + esi + 1]
inc esi
cmp edi, 1
jne 0x481858
mov esi, dword [esp]
mov edi, dword [esp + 8]
jmp 0x481879
mov esi, 1
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
or eax, dword [edx + 4]
mov edx, str.issisii
mov eax, str.issisi
cmove edx, eax
mov eax, dword [edi]
test cl, 4
mov dword [esp + 0x14], edx
mov dword [esp], eax
mov eax, 0x50ce6c
je 0x4818b4
push dword [esp]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp]
lea eax, [ecx + eax + 1]
mov ecx, ebx
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
sub ecx, dword [esp + 0x3c]
cmp byte [edi + 0xc], 0
mov edi, dword [edi + 4]
setne dl
test edi, edi
sete byte [esp + 0x24]
xor al, 1
or al, byte [esp + 0x24]
mov eax, 0
jne 0x48178b
mov eax, dword [edi + 8]
jmp 0x48178b
mov edx, 0xfff0bdc0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 8
call fcn.0048f7c0
mov dword [esp + 0x14], 0
jmp 0x48191c
mov edi, dword [edi + 4]
inc dword [esp + 0x14]
test edi, edi
je 0x47f85e
cmp dword [edi + 0x14], 0
jle 0x48190d
xor esi, esi
jmp 0x481954
push str.NONE
push ebx
push eax
push dword [esp + 0x14]
push edx
push dword [esp + 0x14]
push esi
push dword [esp + 0x30]
push str.iissssss
push 1
push dword [esp + 0x2c]
call fcn.004c6780
add esp, 0x2c
inc esi
cmp esi, dword [edi + 0x14]
jge 0x48190d
mov eax, dword [edi + 8]
mov ecx, dword [edi + esi*8 + 0x24]
mov edx, dword [edi + esi*8 + 0x28]
mov ebx, str.NO_ACTION
mov dword [esp], eax
mov eax, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov dword [esp + 8], edx
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*4]
movzx ecx, byte [edi + 0x1a]
mov eax, str.NO_ACTION
add cl, 0xf9
cmp cl, 3
ja 0x481993
movsx eax, cl
mov eax, dword [eax*4 + 0x519254]
movzx ecx, byte [edi + 0x19]
add cl, 0xf9
cmp cl, 3
ja 0x481926
movsx ecx, cl
mov ebx, dword [ecx*4 + 0x519254]
jmp 0x481926
mov ebx, dword [esp + 4]
jmp 0x48112b
xor eax, eax
jmp 0x4819cf
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481a53
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_16le]
cmp cl, dl
jne 0x4819bb
test cl, cl
jne 0x4819ce
mov esi, 0x5155fc
jmp 0x481ce3
movzx ecx, byte [ecx + str.persist]
xor edx, edx
mov bl, byte [ecx + 0x50ce7b]
movzx ecx, bl
mov dword [esp + 8], 1
cmp edx, ecx
jne 0x481a16
mov edi, dword [esp + 0x10]
mov ecx, dword [esp]
jmp 0x481b04
mov edx, dword [esp + 0x28]
xor ecx, ecx
movzx edx, byte [edx + ecx]
test edx, edx
je 0x481ab9
movzx esi, byte [ecx + 0x50f44f]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x481ac8
mov edx, dword [esp + 0x28]
inc ecx
cmp eax, ecx
jne 0x481a1c
jmp 0x481ad3
xor eax, eax
jmp 0x481a67
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481a84
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF_16be]
cmp cl, dl
jne 0x481a57
test cl, cl
jne 0x481a66
mov esi, 0x515604
jmp 0x481ce3
xor eax, eax
jmp 0x481a9c
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481be5
inc eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.UTF16le]
cmp cl, dl
jne 0x481a88
test cl, cl
jne 0x481a9b
mov esi, 0x51560c
jmp 0x481ce3
movzx ecx, byte [ecx + 0x50f44f]
xor edx, edx
mov bl, byte [ecx + 0x50ce7b]
movzx ecx, bl
cmp edx, ecx
jne 0x481bac
mov edi, dword [esp + 0x10]
mov dword [esp + 8], 2
test byte [edi + 0x23], 0x10
je 0x481af6
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0xffffffff
cmp dword [eax + 4], 0
je 0x481afb
mov ecx, dword [esp]
jmp 0x481b04
xor ecx, ecx
mov dword [eax + 4], 1
mov ebx, dword [edi + 0x14]
test ebx, ebx
jle 0x481b90
lea esi, [ebx + 1]
shl ebx, 4
neg ecx
add ebx, 0xfffffff4
mov dword [esp], ecx
jmp 0x481b45
mov ecx, edi
mov edx, 7
push dword [esp + 8]
push 1
push eax
call fcn.0046c5a0
add esp, 0xc
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
dec esi
add ebx, 0xfffffff0
cmp esi, 1
jle 0x481b90
mov eax, dword [edi + 0x10]
cmp dword [eax + ebx], 0
je 0x481b3c
lea eax, [ecx + esi]
cmp eax, 2
je 0x481b5f
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x481b3c
mov edi, dword [esp + 4]
lea eax, [esi - 2]
mov edx, 1
mov ecx, eax
shl edx, cl
or dword [edi + 0x98], edx
cmp esi, 3
je 0x481b1f
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + ebx]
cmp byte [ecx + 9], 0
je 0x481b1f
or dword [edi + 0x9c], edx
jmp 0x481b1f
mov ecx, dword [esp + 4]
mov edx, 0x50
push 0
push 1
push 1
call fcn.0046c5a0
add esp, 0xc
jmp 0x47f85e
xor ecx, ecx
mov edx, dword [esp + 0x28]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x481c1e
movzx esi, byte [ecx + str.truncate]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x481c2d
inc ecx
mov dword [esp + 8], 3
cmp eax, ecx
jne 0x481bae
jmp 0x481a0a
xor eax, eax
jmp 0x481bfd
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481c81
inc eax
mov ecx, dword [esp + 0x28]
movzx edx, byte [eax + str.UTF16be]
movzx ecx, byte [ecx + eax]
cmp cl, dl
jne 0x481be9
test cl, cl
jne 0x481bfc
mov esi, 0x515614
jmp 0x481ce3
movzx ecx, byte [ecx + str.truncate]
xor edx, edx
mov bl, byte [ecx + 0x50ce7b]
movzx ecx, bl
mov dword [esp + 8], 3
cmp edx, ecx
je 0x481a0a
xor ecx, ecx
mov edx, dword [esp + 0x28]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x481d3a
movzx esi, byte [ecx + str.memory]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x481d49
inc ecx
mov dword [esp + 8], 4
cmp eax, ecx
jne 0x481c42
jmp 0x481a0a
xor eax, eax
jmp 0x481c95
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481cb3
inc eax
mov ecx, dword [esp + 0x28]
movzx edx, byte [eax + str.UTF_16]
movzx ecx, byte [ecx + eax]
cmp cl, dl
jne 0x481c85
test cl, cl
jne 0x481c94
mov esi, 0x51561c
jmp 0x481ce3
xor eax, eax
jmp 0x481cc7
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x481d20
inc eax
mov ecx, dword [esp + 0x28]
movzx edx, byte [eax + str.UTF16]
movzx ecx, byte [ecx + eax]
cmp cl, dl
jne 0x481cb7
test cl, cl
jne 0x481cc6
mov esi, 0x515624
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x10]
mov eax, 2
test cl, cl
cmovne eax, ecx
mov ecx, dword [edi + 0x10]
movzx edx, al
mov ecx, dword [ecx + 0xc]
mov byte [ecx + 0x4d], al
mov byte [edi + 0x4e], al
mov ecx, edi
push 0
push str.BINARY
call fcn.00468030
add esp, 8
mov dword [edi + 8], eax
cmp dword [esi], 0
jne 0x47f85e
push dword [esp + 0x28]
push str.unsupported_encoding:__s
push dword [esp + 0x14]
call fcn.0042af90
add esp, 0xc
jmp 0x47f85e
movzx ecx, byte [ecx + str.memory]
xor edx, edx
mov bl, byte [ecx + 0x50ce7b]
movzx ecx, bl
mov dword [esp + 8], 4
cmp edx, ecx
je 0x481a0a
xor ecx, ecx
mov edx, dword [esp + 0x28]
movzx edx, byte [edx + ecx]
test edx, edx
je 0x481d95
movzx esi, byte [ecx + 0x50f463]
movzx edx, byte [edx + 0x50ce7b]
movzx ebx, byte [esi + 0x50ce7b]
cmp dl, bl
jne 0x481da4
inc ecx
mov dword [esp + 8], 5
cmp eax, ecx
jne 0x481d5e
jmp 0x481a0a
movzx eax, byte [ecx + 0x50f463]
xor edx, edx
mov bl, byte [eax + 0x50ce7b]
mov edi, dword [esp + 0x10]
movzx eax, bl
mov dword [esp + 8], 5
cmp edx, eax
je 0x481af6
jmp 0x481ae5