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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov esi, dword [esp + 0x7c]
mov dword [esp + 0xc], 0
mov edi, ecx
mov dword [esp + 0x58], edx
mov eax, dword [esi]
mov al, byte [eax + 3]
mov dword [esp + 0x44], 0
mov byte [esp + 3], al
push dword [esi + 4]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [esp + 0x54], eax
push dword [esi + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [esp + 0x4c], eax
call fcn.0041acf0
xor ebx, ebx
test eax, eax
mov ebp, 0
je 0x4e3a33
mov dword [esp + 0xc], 7
xor edi, edi
test ebp, ebp
je 0x4e4625
cmp dword [0x51d1a8], 0
je 0x4e461b
mov eax, dword [0x51e858]
test eax, eax
je 0x4e39fa
push eax
call dword [0x51d1f8]
add esp, 4
push ebp
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push ebp
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4625
push eax
call dword [0x51d200]
jmp 0x4e4622
mov eax, dword [esp + 0x78]
xor edx, edx
lea esi, [eax*4 - 8]
mov ecx, esi
call fcn.0041c030
mov ebp, eax
test eax, eax
je 0x4e39c8
push esi
push 0
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
call fcn.0041acf0
test eax, eax
jne 0x4e39c8
mov ecx, esi
xor edx, edx
mov dword [esp + 0x2c], 0
call fcn.0041c030
test eax, eax
je 0x4e39c8
mov dword [esp + 0x34], ebp
push esi
push 0
mov dword [esp + 0x48], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x78], 4
mov dword [esp + 0x5c], edi
jl 0x4e46bc
mov bh, byte [esp + 3]
mov esi, 3
xor eax, eax
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], 0
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 0x7c]
test eax, eax
mov ecx, dword [ecx + esi*4]
mov dword [esp + 8], ecx
je 0x4e3b90
cmp bh, 0x34
mov dword [esp + 0x14], esi
jne 0x4e3b40
mov esi, dword [esp + 8]
movzx eax, byte [esi]
test al, al
je 0x4e3b40
cmp al, 0x3d
je 0x4e3cc0
inc esi
jmp 0x4e3b20
mov esi, dword [esp + 8]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + eax + 1]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov dword [ecx + edi*4], esi
inc edi
mov esi, dword [esp + 0x14]
inc esi
mov eax, dword [esp + 0xc]
cmp esi, dword [esp + 0x78]
jge 0x4e46e7
test eax, eax
jne 0x4e46e7
mov eax, dword [esp + 0x44]
jmp 0x4e3b00
mov ebx, dword [esp + 8]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test ebx, ebx
mov bh, byte [esp + 3]
je 0x4e3b13
cmp eax, 9
jb 0x4e3b13
mov eax, dword [esp + 8]
movzx ecx, byte [eax]
xor eax, eax
test ecx, ecx
je 0x4e3d5e
mov edx, ecx
and dl, 0xdf
cmp dl, 0x54
jne 0x4e3d68
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 1]
test ecx, ecx
je 0x4e3edd
mov edx, ecx
and dl, 0xdf
cmp dl, 0x4f
jne 0x4e3ee7
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 2]
test ecx, ecx
je 0x4e422d
mov edx, ecx
and dl, 0xdf
cmp dl, 0x4b
jne 0x4e4237
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 3]
test ecx, ecx
je 0x4e437d
mov edx, ecx
and dl, 0xdf
cmp dl, 0x45
jne 0x4e439b
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 4]
test ecx, ecx
je 0x4e43e8
mov edx, ecx
and dl, 0xdf
cmp dl, 0x4e
jne 0x4e4406
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 5]
test ecx, ecx
je 0x4e449d
mov edx, ecx
and dl, 0xdf
cmp dl, 0x49
jne 0x4e44b5
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 6]
test ecx, ecx
je 0x4e44e2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x5a
jne 0x4e45ab
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 7]
test ecx, ecx
je 0x4e45bb
mov bh, byte [esp + 3]
mov eax, ecx
and al, 0xdf
cmp al, 0x45
je 0x4e45d6
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a9
movzx eax, byte [eax]
jmp 0x4e45c4
lea eax, [esi + 1]
push eax
push 0x50cf7b
call fcn.0041ef10
add esp, 8
test eax, eax
je 0x4e3cf9
mov cl, byte [eax]
sub esi, dword [esp + 8]
mov edx, eax
mov dword [esp + 4], eax
mov dword [esp + 0x1c], edi
cmp cl, 0x5a
jg 0x4e3d06
cmp cl, 0x22
je 0x4e3d10
cmp cl, 0x27
je 0x4e3d10
jmp 0x4e3d85
mov dword [esp + 0xc], 7
jmp 0x4e3b61
cmp cl, 0x60
je 0x4e3d10
cmp cl, 0x5b
jne 0x4e3d85
mov bl, byte [edx + 1]
cmp cl, 0x5b
movzx eax, cl
mov ecx, 0x5d
cmove eax, ecx
test bl, bl
je 0x4e3d7b
mov edx, 1
xor ecx, ecx
jmp 0x4e3d44
mov edx, dword [esp + 4]
mov byte [edx + ecx], bl
mov ebx, edx
mov edx, edi
movzx ebx, byte [ebx + edi]
inc ecx
test bl, bl
je 0x4e3d7d
lea edi, [edx + 1]
cmp bl, al
jne 0x4e3d30
mov ebx, dword [esp + 4]
cmp byte [ebx + edi], al
jne 0x4e3d7d
add edx, 2
mov byte [ebx + ecx], al
mov edi, edx
jmp 0x4e3d3b
mov ecx, str.tokenize
jmp 0x4e45c4
lea eax, [ecx + 0x50ce7b]
mov ecx, str.tokenize
movzx eax, byte [eax]
jmp 0x4e45c4
xor ecx, ecx
mov eax, dword [esp + 4]
mov byte [eax + ecx], 0
mov dword [esp + 0x10], ebp
lea eax, [esi + 1]
xor ebp, ebp
mov dword [esp + 0x3c], eax
jmp 0x4e3db1
movzx eax, byte [edx + edi]
xor ecx, ecx
mov al, byte [eax + 0x50ce7b]
movzx eax, al
cmp ecx, eax
je 0x4e3df9
inc ebp
cmp ebp, 8
je case.default.0x4e3e02
cmp esi, dword [ebp*8 + 0x5188f0]
jne 0x4e3da7
cmp dword [esp + 8], 0
je 0x4e3da7
mov edx, dword [ebp*8 + 0x5188ec]
mov ebx, dword [esp + 0x3c]
xor edi, edi
nop
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
test eax, eax
je 0x4e3d94
movzx ecx, byte [eax + 0x50ce7b]
movzx eax, byte [edx + edi]
movzx eax, byte [eax + 0x50ce7b]
cmp cl, al
jne 0x4e3da0
dec ebx
inc edi
cmp ebx, 1
jg 0x4e3dd0
cmp ebp, 7
ja case.default.0x4e3e02
jmp dword [ebp*4 + 0x50cb5c]
mov ebp, dword [esp + 4]
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
cmp eax, 4
jne 0x4e4473
movzx ecx, byte [ebp]
xor eax, eax
test ecx, ecx
je 0x4e4363
mov edx, ecx
and dl, 0xdf
cmp dl, 0x46
jne 0x4e436d
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 1]
test ecx, ecx
je 0x4e43d4
mov edx, ecx
and dl, 0xdf
cmp dl, 0x54
jne 0x4e43db
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 2]
test ecx, ecx
je 0x4e443f
mov edx, ecx
and dl, 0xdf
cmp dl, 0x53
jne 0x4e4446
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + 3]
test ecx, ecx
je 0x4e44d8
cmp cl, 0x33
je 0x4e4466
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x517208
jmp 0x4e4451
push dword [esp + 8]
push str.unrecognized_parameter:__s
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xc], 1
jmp 0x4e4530
mov ecx, 0x5188a3
jmp 0x4e45c4
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a3
movzx eax, byte [eax]
jmp 0x4e45c4
mov eax, dword [esp + 0x18]
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4e42e0
cmp dword [0x51d1a8], 0
je 0x4e42d6
mov eax, dword [0x51e858]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x4e3f36
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x18]
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 0x4e3f6d
push eax
call dword [0x51d200]
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
jmp 0x4e3b61
mov eax, dword [esp + 0x24]
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4e42fb
cmp dword [0x51d1a8], 0
je 0x4e42f1
mov eax, dword [0x51e858]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x4e3fb6
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x24]
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 0x4e3fed
push eax
call dword [0x51d200]
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
jmp 0x4e3b61
mov eax, dword [esp + 0x20]
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4e4316
cmp dword [0x51d1a8], 0
je 0x4e430c
mov eax, dword [0x51e858]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x4e4036
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x20]
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 0x4e406d
push eax
call dword [0x51d200]
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
jmp 0x4e3b61
push dword [esp + 4]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
cmp eax, 4
je 0x4e424a
cmp eax, 3
jne 0x4e44ff
mov eax, dword [esp + 4]
xor ecx, ecx
movzx eax, byte [eax]
test eax, eax
je 0x4e4387
mov edx, eax
and dl, 0xdf
cmp dl, 0x41
jne 0x4e43ae
mov edx, dword [esp + 4]
movzx edx, byte [edx + 1]
test edx, edx
je 0x4e43f2
mov bl, dl
and bl, 0xdf
cmp bl, 0x53
jne 0x4e4419
mov edx, dword [esp + 4]
movzx edx, byte [edx + 2]
test edx, edx
je 0x4e44a7
mov ecx, edx
and cl, 0xdf
cmp cl, 0x43
je 0x4e4523
lea ecx, [edx + 0x50ce7b]
mov edx, 0x518949
movzx ecx, byte [ecx]
jmp 0x4e44f1
cmp dword [esp + 0x30], 0
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
je 0x4e4334
cmp dword [0x51d1a8], 0
je 0x4e4327
mov eax, dword [0x51e858]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x4e414d
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x30]
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 0x4e4184
push eax
call dword [0x51d200]
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
jmp 0x4e3b61
cmp dword [esp + 0x2c], 0
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
je 0x4e4352
cmp dword [0x51d1a8], 0
je 0x4e4345
mov eax, dword [0x51e858]
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x4e41cc
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x2c]
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 0x4e4203
push eax
call dword [0x51d200]
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
jmp 0x4e3b61
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov bh, byte [esp + 3]
mov edi, dword [esp + 0x1c]
mov dword [eax + ebp*4], ecx
inc ebp
jmp 0x4e3b61
mov ecx, 0x5188a4
jmp 0x4e45c4
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a4
movzx eax, byte [eax]
jmp 0x4e45c4
mov eax, dword [esp + 4]
xor ecx, ecx
movzx eax, byte [eax]
test eax, eax
je 0x4e4391
mov edx, eax
and dl, 0xdf
cmp dl, 0x44
jne 0x4e43c1
mov edx, dword [esp + 4]
movzx edx, byte [edx + 1]
test edx, edx
je 0x4e43fc
mov bl, dl
and bl, 0xdf
cmp bl, 0x45
jne 0x4e442c
mov edx, dword [esp + 4]
movzx edx, byte [edx + 2]
test edx, edx
je 0x4e44ae
mov bl, dl
and bl, 0xdf
cmp bl, 0x53
jne 0x4e44c8
mov edx, dword [esp + 4]
movzx edx, byte [edx + 3]
test edx, edx
je 0x4e44ec
mov ecx, edx
and cl, 0xdf
cmp cl, 0x43
je 0x4e4523
lea ecx, [edx + 0x50ce7b]
mov edx, 0x510594
movzx ecx, byte [ecx]
jmp 0x4e44f1
push eax
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x4e3b65
push eax
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], eax
jmp 0x4e3b65
push eax
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x20], eax
jmp 0x4e3b65
push dword [esp + 0x30]
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x30], eax
jmp 0x4e3b65
push dword [esp + 0x2c]
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
jmp 0x4e3b65
mov ecx, str.fts3
jmp 0x4e4454
lea eax, [ecx + 0x50ce7b]
mov ecx, str.fts3
jmp 0x4e4451
mov ecx, 0x5188a5
jmp 0x4e45c4
mov edx, 0x518947
jmp 0x4e44f1
mov edx, str.desc
jmp 0x4e44f1
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a5
movzx eax, byte [eax]
jmp 0x4e45c4
lea ecx, [eax + 0x50ce7b]
mov edx, 0x518947
movzx ecx, byte [ecx]
jmp 0x4e44f1
lea ecx, [eax + 0x50ce7b]
mov edx, str.desc
movzx ecx, byte [ecx]
jmp 0x4e44f1
mov ecx, 0x517206
jmp 0x4e4454
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x517206
jmp 0x4e4451
mov ecx, 0x5188a6
jmp 0x4e45c4
mov edx, 0x518948
jmp 0x4e44f1
mov edx, 0x510592
jmp 0x4e44f1
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a6
movzx eax, byte [eax]
jmp 0x4e45c4
lea ecx, [edx + 0x50ce7b]
mov edx, 0x518948
movzx ecx, byte [ecx]
jmp 0x4e44f1
lea ecx, [edx + 0x50ce7b]
mov edx, 0x510592
movzx ecx, byte [ecx]
jmp 0x4e44f1
mov ecx, 0x517207
jmp 0x4e4454
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x517207
movzx eax, byte [eax]
movzx ecx, byte [ecx]
mov ebp, dword [esp + 4]
movzx ecx, byte [ecx + 0x50ce7b]
cmp eax, ecx
jne 0x4e4473
mov dword [esp + 0x48], 1
jmp 0x4e4530
push ebp
push str.unrecognized_matchinfo:__s
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov dword [esp + 0xc], 1
mov dword [esp + 0x48], 1
jmp 0x4e4530
mov ecx, 0x5188a7
jmp 0x4e45c4
mov edx, 0x518949
jmp 0x4e44f1
mov edx, 0x510593
jmp 0x4e44f1
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a7
movzx eax, byte [eax]
jmp 0x4e45c4
lea ecx, [edx + 0x50ce7b]
mov edx, 0x510593
movzx ecx, byte [ecx]
jmp 0x4e44f1
mov ecx, 0x517208
jmp 0x4e4454
mov ecx, 0x5188a8
jmp 0x4e45c4
mov edx, 0x510594
movzx edx, byte [edx]
movzx edx, byte [edx + 0x50ce7b]
cmp ecx, edx
je 0x4e4523
mov ebp, dword [esp + 4]
push ebp
push str.unrecognized_order:__s
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov dword [esp + 0xc], 1
mov al, byte [ebp]
and al, 0xdf
xor ecx, ecx
cmp al, 0x44
sete cl
mov dword [esp + 0x50], ecx
cmp dword [0x51d1a8], 0
mov ebp, dword [esp + 0x10]
je 0x4e4590
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4550
push eax
call dword [0x51d1f8]
add esp, 4
mov ebx, dword [esp + 4]
push ebx
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push ebx
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e45a2
push eax
call dword [0x51d200]
add esp, 4
mov bh, byte [esp + 3]
jmp 0x4e3b65
push dword [esp + 4]
call dword [0x51d1cc]
add esp, 4
jmp 0x4e3b65
mov bh, byte [esp + 3]
jmp 0x4e3b65
lea eax, [ecx + 0x50ce7b]
mov ecx, 0x5188a8
movzx eax, byte [eax]
jmp 0x4e45c4
mov bh, byte [esp + 3]
mov ecx, 0x5188a9
movzx ecx, byte [ecx]
movzx ecx, byte [ecx + 0x50ce7b]
cmp eax, ecx
jne 0x4e3b13
mov eax, dword [esp + 8]
movzx eax, byte [eax + 8]
test al, al
js 0x4e3b13
cmp byte [eax + 0x5189c9], 0
jne 0x4e3b13
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x74]
add edx, 9
push dword [esp + 0x84]
lea eax, [esp + 0x48]
push eax
call fcn.004e5920
add esp, 8
mov dword [esp + 0xc], eax
jmp 0x4e3b65
push ebp
call dword [0x51d1cc]
add esp, 4
test ebx, ebx
je 0x4e4681
cmp dword [0x51d1a8], 0
je 0x4e4677
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4645
push eax
call dword [0x51d1f8]
add esp, 4
push ebx
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push ebx
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4681
push eax
call dword [0x51d200]
jmp 0x4e467e
push ebx
call dword [0x51d1cc]
add esp, 4
cmp dword [esp + 0xc], 0
je 0x4e4694
test edi, edi
je 0x4e469f
push edi
call fcn.004deed0
jmp 0x4e46ad
mov eax, dword [esp + 0x80]
mov dword [eax], edi
jmp 0x4e46b0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4e46b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esp, 4
mov eax, dword [esp + 0xc]
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebp, ebp
mov dword [esp + 0x30], 0
xor eax, eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], 0
xor edi, edi
jmp 0x4e47d3
cmp dword [esp + 0x30], 0
je 0x4e4750
test eax, eax
jne 0x4e4750
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x58]
test eax, eax
je 0x4e4763
cmp dword [0x51d1a8], 0
je 0x4e4759
mov eax, dword [0x51e858]
test eax, eax
je 0x4e471a
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x24]
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 0x4e4763
push eax
call dword [0x51d200]
jmp 0x4e4760
mov eax, dword [esp + 0x18]
jmp 0x4e47e3
push eax
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e47c7
cmp dword [0x51d1a8], 0
je 0x4e47bd
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4787
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x20]
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 0x4e47c7
push eax
call dword [0x51d200]
jmp 0x4e47c4
push eax
call dword [0x51d1cc]
add esp, 4
test edi, edi
je 0x4e49d6
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0xc]
xor esi, esi
test ebx, ebx
je 0x4e47f4
xor edi, edi
jmp 0x4e5632
test edi, edi
mov dword [esp + 0x18], eax
jne 0x4e4817
mov eax, dword [esp + 0x34]
mov edi, 1
mov dword [esp + 0x38], 8
mov dword [eax], str.content
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x44], 0
je 0x4e4878
mov edx, 1
test eax, eax
je 0x4e4847
mov cl, byte [eax]
test cl, cl
je 0x4e4847
mov eax, dword [esp + 0x18]
mov edx, 2
inc eax
jmp 0x4e483e
inc edx
movzx ecx, byte [eax]
inc eax
cmp cl, 0x2c
je 0x4e4839
test cl, cl
jne 0x4e483a
mov esi, edx
mov dword [esp + 0x1c], edi
call fcn.0041acf0
xor edi, edi
mov ebx, 7
test eax, eax
je 0x4e48ac
xor edx, edx
mov dword [esp + 0xc], ebx
mov esi, edi
xor edi, edi
test ebx, ebx
je 0x4e49b8
mov eax, dword [esp + 0x18]
jmp 0x4e5632
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x44]
mov edx, str.simple
push dword [esp + 0x84]
push eax
call fcn.004e5920
add esp, 8
xor esi, esi
mov dword [esp + 0xc], eax
test eax, eax
mov eax, dword [esp + 0x18]
jne 0x4e47ed
jmp 0x4e481e
lea eax, [esi*8]
xor edx, edx
mov dword [esp + 8], esi
xor edi, edi
lea ecx, [eax + eax*2]
mov dword [esp + 4], ecx
call fcn.0041c030
test eax, eax
je 0x4e485d
mov esi, eax
push dword [esp + 4]
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov edx, dword [esp + 8]
xor ebx, ebx
cmp edx, 2
jl 0x4e4dfe
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e4dfe
mov dword [esp + 0x10], ebp
mov edi, 1
mov ebp, eax
mov dword [esp + 0x3c], esi
jmp 0x4e4925
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 8]
mov edi, dword [esp + 4]
dec ebp
mov ebx, ebp
dec edx
dec edi
inc ebx
inc edi
cmp edi, edx
mov ebp, ebx
jge 0x4e4ed3
mov cl, byte [ebp]
mov eax, ecx
add al, 0xd0
cmp al, 9
ja 0x4e4ea4
mov dword [esp + 4], edi
xor eax, eax
mov ebx, ebp
xor edi, edi
mov dword [esp + 8], edx
nop word cs:[eax + eax]
nop dword [eax]
mov edx, 0xa
add edi, edi
mul edx
lea edi, [edi + edi*4]
mov esi, eax
movzx eax, cl
add eax, esi
adc edi, edx
add eax, 0xffffffd0
adc edi, 0xffffffff
mov ecx, edi
mov edx, edi
shld ecx, eax, 1
shr edx, 0x1f
or edx, ecx
jne 0x4e4908
movzx ecx, byte [ebx + 1]
inc ebx
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x4e4950
mov edx, dword [esp + 8]
mov edi, dword [esp + 4]
cmp eax, 0x989680
jle 0x4e49a1
mov esi, dword [esp + 0x3c]
jmp 0x4e4917
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x4e4917
lea ecx, [edi + edi*2]
mov dword [esi + ecx*8], eax
jmp 0x4e4919
mov dword [esp + 8], edx
mov dword [esp + 0x3c], esi
call fcn.0041acf0
test eax, eax
je 0x4e4a33
mov dword [esp + 0xc], 7
jmp 0x4e562a
cmp dword [0x51d1a8], 0
je 0x4e4d34
mov eax, dword [0x51e858]
test eax, eax
je 0x4e49f6
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x34]
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 0x4e4d41
push eax
call dword [0x51d200]
jmp 0x4e4d3e
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
lea eax, [eax*8]
inc ecx
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 4], edx
add eax, ecx
mov ecx, dword [esp + 0x1c]
add eax, dword [esp + 0x38]
add eax, ecx
lea eax, [eax + ecx*4]
lea esi, [eax + edx + 0x121]
xor edx, edx
mov ecx, esi
call fcn.0041c030
test eax, eax
je 0x4e49c9
inc dword [esp + 0x54]
mov ebx, eax
push esi
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x48], 0
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x120]
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x10c], 0
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x24], eax
sete al
cmp byte [esp + 3], 0x34
mov dword [ebx + 0x108], 0x100000
sete cl
sete byte [ebx + 0xed]
sete byte [ebx + 0xec]
and cl, al
mov eax, dword [esp + 0x50]
mov byte [ebx + 0xee], cl
mov byte [ebx + 0xef], al
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x30], 0xff
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x2c], eax
lea eax, [ebx + edi*4 + 0x120]
mov dword [ebx + 0x104], eax
push dword [esp + 4]
push dword [esp + 0x40]
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 8]
mov dword [ebx + 0x100], edx
test edx, edx
mov eax, dword [ebx + 0x104]
jle 0x4e4b6b
mov ecx, 8
mov word [eax + ecx - 4], 0x101
mov dword [eax + ecx + 4], 0
mov dword [eax + ecx], 0
mov dword [eax + ecx + 0xc], 0
mov dword [eax + ecx + 8], 0
add ecx, 0x18
dec edx
mov eax, dword [ebx + 0x104]
jne 0x4e4b39
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
lea esi, [eax + ecx*8]
mov dword [ebx + 0x20], esi
add esi, edi
mov dword [ebx + 0x14], esi
push dword [esp + 0x4c]
mov eax, dword [esp + 0x80]
push dword [eax + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add esi, dword [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0x54]
push ebx
mov eax, dword [esp + 0x80]
push dword [eax + 4]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
test edi, edi
mov dword [esp + 0x10], ebp
jle 0x4e5032
add esi, ebx
xor ecx, ecx
jmp 0x4e4bee
xor ecx, ecx
mov edi, dword [esp + 0x1c]
mov byte [esi + ecx], 0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov dword [eax + ecx*4], esi
inc ecx
lea esi, [ebp + esi + 1]
cmp ecx, edi
je 0x4e4ee0
mov eax, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov ebp, dword [eax + ecx*4]
lea edx, [ebp + 1]
nop dword [eax]
movsx ebx, byte [ebp]
mov eax, ebp
movzx ecx, bl
cmp ebx, 0x26
jle 0x4e4c27
cmp ebx, 0x27
je 0x4e4cfa
cmp ebx, 0x60
je 0x4e4cfa
cmp ebx, 0x5b
jne 0x4e4c38
jmp 0x4e4c8a
test ebx, ebx
je 0x4e4d2c
cmp ebx, 0x22
je 0x4e4cfa
lea ebp, [eax + 1]
test cl, cl
js 0x4e4c51
inc edx
cmp byte [ecx + 0x5189c9], 0
je 0x4e4c00
jmp 0x4e4c51
inc ebp
movzx ecx, byte [ebp]
test cl, cl
js 0x4e4c50
cmp byte [ecx + 0x5189c9], 0
jne 0x4e4c50
sub ebp, eax
test ebp, ebp
jle 0x4e4c73
push ebp
push eax
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebp], 0
mov al, byte [esi]
cmp al, 0x5a
jg 0x4e4ca1
cmp al, 0x22
je 0x4e4cad
cmp al, 0x27
je 0x4e4cad
jmp 0x4e4bd3
movzx ecx, byte [edx]
inc edx
cmp cl, 0x5d
je 0x4e4c97
test cl, cl
jne 0x4e4c8a
lea ebp, [edx - 1]
test cl, cl
cmovne ebp, edx
jmp 0x4e4c62
cmp al, 0x60
je 0x4e4cad
cmp al, 0x5b
jne 0x4e4bd3
mov bl, byte [esi + 1]
cmp al, 0x5b
movzx eax, al
mov ecx, 0x5d
cmove eax, ecx
test bl, bl
je 0x4e4bc9
mov edi, 1
xor ecx, ecx
jmp 0x4e4ce0
mov edi, edx
mov byte [esi + ecx], bl
movzx ebx, byte [esi + edx]
inc ecx
test bl, bl
je 0x4e4bcb
lea edx, [edi + 1]
cmp bl, al
jne 0x4e4cce
cmp byte [esi + edx], al
jne 0x4e4bcb
add edi, 2
mov byte [esi + ecx], al
mov edx, edi
jmp 0x4e4cd3
mov bl, byte [eax + 1]
lea ebp, [eax + 1]
test bl, bl
je 0x4e4c62
mov edx, eax
jmp 0x4e4d1b
mov edx, ebp
inc ebp
movzx ebx, byte [edx + 1]
test bl, bl
je 0x4e4c62
cmp bl, cl
jne 0x4e4d0c
cmp byte [edx + 2], cl
lea ebp, [edx + 2]
je 0x4e4d0c
jmp 0x4e4c62
movsx ebp, cl
jmp 0x4e4c73
push dword [esp + 0x34]
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], 0
push dword [esp + 0x30]
push eax
push str.SELECT__FROM__Q._Q
call fcn.0041ef10
add esp, 0xc
test eax, eax
je 0x4e4df7
mov edi, eax
lea eax, [esp + 0x28]
mov ecx, ebx
mov edx, edi
push 0
push eax
push 0
push 0
push 0xffffffffffffffff
call fcn.0042d320
add esp, 0x14
mov esi, eax
test eax, eax
je 0x4e4da9
push ebx
call fcn.0042cf50
add esp, 4
push eax
push 0x50cf7b
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
cmp dword [0x51d1a8], 0
je 0x4e4e05
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4dc5
push eax
call dword [0x51d1f8]
add esp, 4
push edi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push edi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4e0f
push eax
call dword [0x51d200]
jmp 0x4e4e0c
mov esi, 7
jmp 0x4e4e13
mov edi, esi
jmp 0x4e485f
push edi
call dword [0x51d1cc]
add esp, 4
test esi, esi
je 0x4e4e3c
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov dword [esp + 0x34], 0
xor esi, esi
xor edi, edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
jmp 0x4e5632
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], 0
test ecx, ecx
mov dword [esp + 8], ecx
je 0x4e512b
movzx ebx, word [ecx + 0x90]
test ebx, ebx
je 0x4e512b
xor edi, edi
xor eax, eax
xor esi, esi
mov dword [esp + 0x38], eax
push edi
push ecx
call fcn.00428520
add esp, 8
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [esp + 0xc]
add esp, 4
inc eax
add dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
adc esi, 0
inc edi
cmp ebx, edi
jne 0x4e4e69
mov edi, ebx
mov dword [esp + 4], 0
jmp 0x4e513d
mov dword [esp + 0xc], 1
push dword [esp + 0x18]
push str.error_parsing_prefix_parameter:__s
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
xor edx, edx
jmp 0x4e4865
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov edi, esi
jmp 0x4e485f
mov ebp, dword [esp + 0x10]
test edi, edi
jle 0x4e5032
xor ecx, ecx
jmp 0x4e4f03
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
inc ecx
cmp ecx, dword [esp + 0x1c]
je 0x4e5032
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ecx
mov eax, dword [eax + 0x1c]
push dword [eax + ecx*4]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test ebp, ebp
mov dword [esp + 8], eax
jle 0x4e4ef0
mov eax, dword [esp + 8]
xor ebp, ebp
inc eax
mov dword [esp + 0x38], eax
jmp 0x4e4f57
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [eax + ebp*4], 0
nop word cs:[eax + eax]
nop dword [eax]
inc ebp
cmp ebp, dword [esp + 0x10]
je 0x4e4ef0
mov eax, dword [esp + 0x40]
mov esi, dword [eax + ebp*4]
test esi, esi
je 0x4e4f50
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp dword [esp + 8], eax
jne 0x4e4f50
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x4e4f50
cmp dword [esp + 8], 0
jle 0x4e4fca
mov edx, dword [esp + 0x38]
xor ecx, ecx
movzx eax, byte [edi + ecx]
test eax, eax
je 0x4e4fb7
movzx ebx, byte [esi + ecx]
movzx eax, byte [eax + 0x50ce7b]
movzx ebx, byte [ebx + 0x50ce7b]
cmp al, bl
jne 0x4e4fc3
dec edx
inc ecx
cmp edx, 1
jg 0x4e4f90
jmp 0x4e4fca
movzx eax, byte [esi + ecx]
mov bl, byte [eax + 0x50ce7b]
xor eax, eax
movzx ecx, bl
cmp eax, ecx
jne 0x4e4f50
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
mov byte [eax + ecx], 1
cmp dword [0x51d1a8], 0
je 0x4e4f2e
mov eax, dword [0x51e858]
test eax, eax
je 0x4e4ff9
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 0x4e4f38
push eax
call dword [0x51d200]
jmp 0x4e4f35
test ebp, ebp
jle 0x4e5069
mov esi, dword [esp + 0x40]
mov edi, ebp
jmp 0x4e5044
add esi, 4
dec edi
je 0x4e5069
mov eax, dword [esi]
test eax, eax
je 0x4e503e
push eax
push str.no_such_column:__s
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov dword [esp + 0xc], 1
jmp 0x4e503e
cmp dword [esp + 0xc], 0
jne 0x4e50b3
cmp dword [esp + 0x24], 0
sete al
cmp dword [esp + 0x20], 0
setne cl
xor cl, al
jne 0x4e50b3
cmp dword [esp + 0x24], 0
mov eax, str.compress
mov ecx, str.uncompress
mov dword [esp + 0xc], 1
cmove ecx, eax
push ecx
push str.missing__s_parameter_in_fts4_constructor
push dword [esp + 0x8c]
call fcn.004d9760
add esp, 0xc
mov esi, dword [esp + 4]
mov dword [esp + 0x28], 0
cmp dword [esi + 0x28], 0
je 0x4e52bf
lea edi, [esp + 0xc]
lea eax, [esp + 0x28]
push str.rowid
push eax
push edi
call fcn.004e6360
add esp, 0xc
cmp dword [esi + 0x18], 0
jle 0x4e5107
xor ebx, ebx
mov eax, dword [esi + 0x1c]
push dword [eax + ebx*4]
push str.__x._q
lea eax, [esp + 0x30]
push eax
push edi
call fcn.004e6360
add esp, 0x10
inc ebx
cmp ebx, dword [esi + 0x18]
jl 0x4e50e8
mov eax, dword [esi + 0x2c]
lea ecx, [esp + 0x28]
test eax, eax
je 0x4e5413
push eax
push str.__x._Q
push ecx
push edi
call fcn.004e6360
add esp, 0x10
jmp 0x4e5413
mov al, 1
xor edi, edi
mov dword [esp + 0x38], 0
xor esi, esi
mov dword [esp + 4], eax
call fcn.0041acf0
mov ebx, 7
test eax, eax
jne 0x4e51d4
lea ecx, [edi*4]
add ecx, dword [esp + 0x38]
adc esi, 0
mov edx, esi
call fcn.0041c030
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c], edi
xor edi, edi
test eax, eax
mov ebx, 7
mov dword [esp + 0x34], eax
sete al
cmovne ebx, edi
or cl, al
jne 0x4e51d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ebp
lea ebx, [ecx + eax*4]
push edi
push dword [esp + 0xc]
call fcn.00428520
add esp, 8
mov esi, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebp, eax
inc eax
push eax
push esi
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [eax + edi*4], ebx
inc edi
lea ebx, [ebx + ebp + 1]
cmp dword [esp + 0x1c], edi
jne 0x4e5192
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov edi, dword [esp + 0x1c]
push dword [esp + 8]
call fcn.00425440
add esp, 4
cmp dword [esp + 0x2c], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x24], 0
je 0x4e52e7
mov eax, dword [esp + 0x18]
test ebx, ebx
jne 0x4e52eb
test edi, edi
je 0x4e46e0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], ebp
xor ebp, ebp
mov edx, edi
mov dword [esp + 0x1c], edi
lea ecx, [eax + 0x14]
jmp 0x4e522f
inc ebp
add ecx, 4
dec edx
cmp ebp, dword [esp + 0x1c]
je 0x4e5909
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebp*4]
test esi, esi
je 0x4e5220
xor edi, edi
jmp 0x4e524e
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [eax + 0x50ce7b]
jne 0x4e5220
inc edi
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + edi]
movzx eax, byte [esi + edi]
cmp bl, al
jne 0x4e523e
test bl, bl
jne 0x4e524d
mov edi, dword [esp + 0x1c]
mov esi, edi
sub esi, ebp
jbe 0x4e52b1
cmp esi, 8
jb 0x4e529a
mov edi, esi
and edx, 0xfffffff8
and edi, 0xfffffff8
add ebp, edi
movups xmm0, xmmword [ecx - 0x10]
movups xmm1, xmmword [ecx]
movups xmmword [ecx - 0x14], xmm0
movups xmmword [ecx - 4], xmm1
add ecx, 0x20
add edx, 0xfffffff8
jne 0x4e527b
cmp esi, edi
mov edi, dword [esp + 0x1c]
je 0x4e52b1
mov eax, dword [esp + 0x34]
mov edx, edi
sub edx, ebp
lea ecx, [eax + ebp*4 + 4]
mov eax, dword [ecx]
mov dword [ecx - 4], eax
add ecx, 4
dec edx
jne 0x4e52a6
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
dec edi
jmp 0x4e47d3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e52f8
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
call fcn.0041acf0
test eax, eax
mov dword [esp + 8], 0
je 0x4e5307
xor esi, esi
jmp 0x4e5351
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], 0
jmp 0x4e47e7
mov esi, 0x50ce6c
mov dword [esp + 8], 0
jmp 0x4e5351
lea ecx, [esi + esi + 3]
mov edx, ecx
sar edx, 0x1f
call fcn.0041c030
test eax, eax
mov esi, 0
je 0x4e5351
mov edx, dword [esp + 0x20]
mov ecx, eax
mov byte [eax], 0x22
jmp 0x4e5336
mov byte [ecx + 1], 0x22
add ecx, 2
movzx ebx, byte [edx]
mov byte [ecx], bl
inc edx
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x4e5329
test bl, bl
je 0x4e5345
inc ecx
jmp 0x4e5333
mov esi, eax
mov word [ecx + 1], 0x22
mov dword [esp + 8], eax
lea ebp, [esp + 0xc]
lea eax, [esp + 0x28]
push str.docid
push eax
push ebp
call fcn.004e6360
add esp, 0xc
mov ebx, dword [esp + 4]
cmp dword [ebx + 0x18], 0
jle 0x4e5395
xor edi, edi
mov eax, dword [ebx + 0x1c]
push dword [eax + edi*4]
push edi
push esi
push str.__s_x.c_d_q_
lea eax, [esp + 0x38]
push eax
push ebp
call fcn.004e6360
add esp, 0x18
inc edi
cmp edi, dword [ebx + 0x18]
jl 0x4e5374
cmp dword [ebx + 0x2c], 0
lea eax, [esp + 0x28]
je 0x4e53b3
push str.langid
push str.__x._Q
push eax
push ebp
call fcn.004e6360
add esp, 0x10
mov esi, dword [esp + 8]
test esi, esi
je 0x4e5413
cmp dword [0x51d1a8], 0
je 0x4e5409
mov eax, dword [0x51e858]
test eax, eax
je 0x4e53d7
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 0x4e5413
push eax
call dword [0x51d200]
jmp 0x4e5410
push esi
call dword [0x51d1cc]
add esp, 4
mov ebx, dword [esp + 4]
mov edx, 0x50ce6c
mov dword [esp + 8], 0x50ce6c
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x10]
test ecx, ecx
jne 0x4e5436
mov ecx, dword [ebx + 0x14]
mov edx, str._content
lea esi, [esp + 0x28]
lea edi, [esp + 0xc]
push edx
push ecx
push eax
push str._FROM__q._q_s_AS_x
push esi
push edi
call fcn.004e6360
add esp, 0x18
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xe0], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0
test eax, eax
je 0x4e5490
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
call fcn.0041acf0
test eax, eax
mov dword [esp + 0x14], 0
je 0x4e549a
mov dword [esp + 8], 0
jmp 0x4e54f1
mov dword [esp + 0x14], 0
jmp 0x4e54f1
lea ecx, [esi + esi + 3]
mov edx, ecx
sar edx, 0x1f
call fcn.0041c030
test eax, eax
lea ecx, [esp + 0xc]
lea esi, [esp + 0x28]
mov dword [esp + 8], 0
je 0x4e54f9
mov edx, dword [esp + 0x24]
mov ecx, eax
mov byte [eax], 0x22
jmp 0x4e54d4
mov byte [ecx + 1], 0x22
add ecx, 2
movzx ebx, byte [edx]
mov byte [ecx], bl
inc edx
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x4e54c7
test bl, bl
je 0x4e54e3
inc ecx
jmp 0x4e54d1
mov word [ecx + 1], 0x22
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
lea ecx, [esp + 0xc]
lea esi, [esp + 0x28]
push 0x50e31c
push esi
push ecx
call fcn.004e6360
add esp, 0xc
mov ebx, dword [esp + 4]
mov edi, dword [esp + 8]
cmp dword [ebx + 0x18], 0
jle 0x4e5532
xor ebp, ebp
push edi
push str.__s___
push esi
lea eax, [esp + 0x18]
push eax
call fcn.004e6360
add esp, 0x10
inc ebp
cmp ebp, dword [ebx + 0x18]
jl 0x4e5518
cmp dword [ebx + 0x2c], 0
je 0x4e554f
push 0x518ad8
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004e6360
add esp, 0xc
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov bl, byte [esp + 3]
mov esi, dword [esp + 0x5c]
test edi, edi
je 0x4e55bb
cmp dword [0x51d1a8], 0
je 0x4e55b1
mov eax, dword [0x51e858]
test eax, eax
je 0x4e557f
push eax
call dword [0x51d1f8]
add esp, 4
push edi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push edi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e55bb
push eax
call dword [0x51d200]
jmp 0x4e55b8
push edi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 4]
mov dword [esp + 0x30], 0
mov dword [edi + 0xe4], eax
cmp dword [esp + 0xc], 0
jne 0x4e5622
test esi, esi
je 0x4e55ed
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.004e5f20
mov dword [esp + 0xc], eax
jmp 0x4e55fd
mov edi, dword [esp + 4]
cmp bl, 0x34
je 0x4e55fd
mov byte [edi + 0xed], 2
lea esi, [esp + 0xc]
mov edx, edi
mov ecx, esi
call fcn.004e60c0
mov eax, dword [edi + 0xf4]
mov ecx, esi
mov edx, edi
add eax, 0xffffffdd
mov dword [edi + 0xe8], eax
call fcn.004e61c0
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x4e5694
cmp dword [0x51d1a8], 0
je 0x4e568a
mov ebx, esi
mov esi, eax
mov eax, dword [0x51e858]
test eax, eax
je 0x4e5656
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]
mov esi, ebx
test eax, eax
je 0x4e5694
push eax
call dword [0x51d200]
jmp 0x4e5691
push eax
call dword [0x51d1cc]
add esp, 4
test esi, esi
je 0x4e56f0
cmp dword [0x51d1a8], 0
je 0x4e56e6
mov eax, dword [0x51e858]
test eax, eax
je 0x4e56b4
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 0x4e56f0
push eax
call dword [0x51d200]
jmp 0x4e56ed
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4e5754
cmp dword [0x51d1a8], 0
je 0x4e574a
mov eax, dword [0x51e858]
test eax, eax
je 0x4e5714
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x24]
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 0x4e5754
push eax
call dword [0x51d200]
jmp 0x4e5751
push eax
call dword [0x51d1cc]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e57b8
cmp dword [0x51d1a8], 0
je 0x4e57ae
mov eax, dword [0x51e858]
test eax, eax
je 0x4e5778
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x20]
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 0x4e57b8
push eax
call dword [0x51d200]
jmp 0x4e57b5
push eax
call dword [0x51d1cc]
add esp, 4
cmp dword [esp + 0x30], 0
je 0x4e581e
cmp dword [0x51d1a8], 0
je 0x4e5811
mov eax, dword [0x51e858]
test eax, eax
je 0x4e57db
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x30]
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 0x4e581e
push eax
call dword [0x51d200]
jmp 0x4e581b
push dword [esp + 0x30]
call dword [0x51d1cc]
add esp, 4
cmp dword [esp + 0x2c], 0
je 0x4e5884
cmp dword [0x51d1a8], 0
je 0x4e5877
mov eax, dword [0x51e858]
test eax, eax
je 0x4e5841
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x2c]
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 0x4e5884
push eax
call dword [0x51d200]
jmp 0x4e5881
push dword [esp + 0x2c]
call dword [0x51d1cc]
add esp, 4
test ebp, ebp
jle 0x4e58f4
mov esi, dword [esp + 0x40]
jmp 0x4e58a0
push ebx
call dword [0x51d1cc]
add esp, 4
add esi, 4
dec ebp
je 0x4e58f4
mov ebx, dword [esi]
test ebx, ebx
je 0x4e589a
cmp dword [0x51d1a8], 0
je 0x4e5890
mov eax, dword [0x51e858]
test eax, eax
je 0x4e58c2
push eax
call dword [0x51d1f8]
add esp, 4
push ebx
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push ebx
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x4e589a
push eax
call dword [0x51d200]
jmp 0x4e5897
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x4e39da
jmp 0x4e4625
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jmp 0x4e47d3