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

Disassembly:
mov eax, 0x1090
call fcn.00471590
mov eax, dword [0x4acab8]
xor eax, esp
mov dword [esp + 0x108c], eax
mov eax, dword [esp + 0x10a0]
mov ecx, dword [esp + 0x109c]
mov edx, dword [esp + 0x10a4]
push ebx
mov ebx, dword [esp + 0x1098]
push esi
xor esi, esi
push edi
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], 1
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
cmp eax, esi
jne 0x46e1e3
cmp ecx, esi
je 0x46e1c9
mov dword [ecx], 0x63
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x108c]
xor ecx, esp
call fcn.00470538
add esp, 0x1090
ret
mov dword [eax], esi
cmp ecx, esi
je 0x46e1eb
mov dword [ecx], esi
push ebp
cmp edx, esi
jne 0x46e1fa
mov eax, 0x10
jmp 0x46e855
mov eax, dword [esp + 0x10b8]
mov dword [edx], esi
cmp eax, esi
jne 0x46e213
mov eax, 0x49a298
mov dword [esp + 0x10b8], eax
mov ebp, dword [esp + 0x10a8]
lea ecx, [eax + 0x100]
lea edx, [eax + 0x200]
mov dword [esp + 0x38], eax
add eax, 0x340
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
test ebp, 0xdc038580
je 0x46e24d
mov eax, 0x11
jmp 0x46e849
cmp byte [ebx], 0x28
jne 0x46e39f
jmp 0x46e262
xor esi, esi
cmp byte [ebx + edi + 1], 0x2a
jne 0x46e39f
push 5
lea esi, [ebx + edi + 2]
push str.UTF8_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e293
add edi, 7
or ebp, 0x800
jmp 0x46e393
push 4
push str.UCP_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e2b5
add edi, 6
or ebp, 0x20000000
jmp 0x46e393
push 3
push 0x49a208
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e2dc
add edi, 5
mov eax, 0x100000
and ebp, 0xff8fffff
jmp 0x46e391
push 3
push 0x49a204
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e303
add edi, 5
mov eax, 0x200000
and ebp, 0xff8fffff
jmp 0x46e391
push 5
push str.CRLF_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e327
add edi, 7
mov eax, 0x300000
and ebp, 0xff8fffff
jmp 0x46e391
push 4
push str.ANY_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e34b
add edi, 6
mov eax, 0x400000
and ebp, 0xff8fffff
jmp 0x46e391
push 8
push str.ANYCRLF_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e36f
add edi, 0xa
mov eax, 0x500000
and ebp, 0xff8fffff
jmp 0x46e391
push 0xc
push str.BSR_ANYCRLF_
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e3b5
add edi, 0xe
mov eax, 0x800000
and ebp, 0xfe7fffff
or ebp, eax
cmp byte [ebx + edi], 0x28
je 0x46e260
xor esi, esi
mov eax, ebp
shr eax, 0xb
mov edx, 1
and eax, edx
je 0x46e3d3
lea eax, [edx + 0x1f]
jmp 0x46e849
push 0xc
push 0x49a1c8
push esi
call fcn.00473798
add esp, 0xc
test eax, eax
jne 0x46e39d
add edi, 0xe
mov eax, 0x1000000
jmp 0x46e38b
test ebp, 0x20000000
je 0x46e3e5
mov eax, 0x43
jmp 0x46e849
mov eax, ebp
and eax, 0x1800000
je 0x46e406
cmp eax, 0x800000
je 0x46e406
cmp eax, 0x1000000
je 0x46e406
mov eax, 0x38
jmp 0x46e849
mov eax, ebp
and eax, 0x700000
cmp eax, 0x300000
mov ecx, 2
jg 0x46e46a
je 0x46e463
cmp eax, esi
je 0x46e42d
cmp eax, 0x100000
je 0x46e45c
cmp eax, 0x200000
jne 0x46e478
mov eax, 0xa
cmp eax, 0xff
mov dword [esp + 0x90], esi
jle 0x46e494
mov dword [esp + 0x94], ecx
mov ecx, eax
sar ecx, 8
mov byte [esp + 0x98], cl
mov byte [esp + 0x99], al
jmp 0x46e4a2
mov eax, 0xd
jmp 0x46e432
mov eax, 0xd0a
jmp 0x46e432
cmp eax, 0x400000
je 0x46e48b
cmp eax, 0x500000
je 0x46e482
mov eax, 0x38
jmp 0x46e849
mov dword [esp + 0x90], ecx
jmp 0x46e4a2
mov dword [esp + 0x90], edx
jmp 0x46e4a2
mov dword [esp + 0x94], edx
mov byte [esp + 0x98], al
lea edx, [esp + 0x9c]
mov eax, edx
mov dword [esp + 0x4c], eax
mov ecx, edx
mov eax, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46e4e0
sub eax, edx
add eax, ebx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
push esi
lea edx, [esp + 0xa8]
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x38]
push eax
push esi
push esi
push esi
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x48]
push eax
mov ecx, ebp
and ecx, 7
push ecx
add edi, ebx
push ebp
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x48], edi
mov byte [esp + 0xd0], 0x5e
call fcn.0046d8c0
mov eax, dword [esp + 0x44]
add esp, 0x34
cmp eax, esi
jne 0x46e849
mov ebp, dword [esp + 0x1c]
cmp ebp, 0x10000
jle 0x46e57c
mov eax, 0x14
jmp 0x46e849
mov edx, dword [esp + 0x68]
add edx, 3
imul edx, dword [esp + 0x64]
lea ebx, [edx + ebp + 0x28]
push ebx
call dword [0x4ac920]
mov esi, eax
add esp, 4
test esi, esi
jne 0x46e5a4
lea eax, [esi + 0x15]
jmp 0x46e845
mov dword [esi + 4], ebx
mov dword [esi], 0x50435245
mov eax, dword [esp + 0x7c]
mov dword [esi + 8], eax
movzx ecx, word [esp + 0x80]
mov word [esi + 0xc], cx
xor edx, edx
mov word [esi + 0xe], dx
xor ecx, ecx
mov word [esi + 0x16], cx
xor eax, eax
mov word [esi + 0x14], ax
mov edx, 0x28
mov word [esi + 0x18], dx
movzx eax, word [esp + 0x68]
mov word [esi + 0x1a], ax
movzx ecx, word [esp + 0x64]
mov eax, dword [esp + 0x10b8]
mov word [esi + 0x1c], cx
xor edx, edx
mov word [esi + 0x1e], dx
mov ecx, eax
sub ecx, 0x49a298
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esi + 0x20], ecx
xor ecx, ecx
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x64], ecx
movzx eax, word [esi + 0x18]
push ecx
add eax, esi
mov dword [esp + 0x64], eax
movzx edx, word [esi + 0x1a]
movzx ebx, word [esi + 0x1c]
imul ebx, edx
lea edx, [esp + 0x3c]
push edx
push ecx
lea edx, [esp + 0x30]
push edx
lea edx, [esp + 0x38]
push edx
push ecx
push ecx
push ecx
add ebx, eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x78], ecx
lea eax, [esp + 0xbc]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x30]
push ecx
mov byte [ebx], 0x5e
mov eax, dword [esi + 8]
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x48]
mov edx, eax
push ecx
and edx, 7
push edx
push eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], ebx
call fcn.0046d8c0
movzx eax, word [esp + 0xa0]
mov word [esi + 0x10], ax
movzx ecx, word [esp + 0xa8]
mov word [esi + 0x12], cx
mov dx, word [esp + 0xb4]
add esp, 0x34
mov word [esi + 0xc], dx
cmp dword [esp + 0x88], 0
je 0x46e6d5
mov dword [esp + 0x24], 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x46e6ed
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x46e6ed
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x20]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, ebp
jle 0x46e708
mov dword [esp + 0x10], 0x17
jmp 0x46e785
cmp dword [esp + 0x10], 0
jne 0x46e785
nop
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x9c]
cmp eax, ecx
jbe 0x46e773
sub eax, 2
mov dword [esp + 0x5c], eax
movzx edx, byte [eax]
movzx edi, byte [eax + 1]
shl edx, 8
or edi, edx
movzx eax, byte [edi + ebx]
movzx ecx, byte [edi + ebx + 1]
shl eax, 8
or eax, ecx
push eax
push 0
push ebx
call fcn.00469cb0
add esp, 0xc
test eax, eax
je 0x46e769
mov edx, eax
sub edx, ebx
sar edx, 8
sub al, bl
mov byte [edi + ebx], dl
mov byte [edi + ebx + 1], al
cmp dword [esp + 0x10], 0
je 0x46e710
jmp 0x46e785
mov dword [esp + 0x10], 0x35
jmp 0x46e785
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x46e785
mov dword [esp + 0x10], 0xf
cmp dword [esp + 0x8c], 0
je 0x46e830
push 0xffffffffffffffff
push 0
push ebx
call fcn.00469cb0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46e830
lea ebx, [ebx]
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
jne 0x46e807
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
shl eax, 8
or eax, ecx
movzx edx, byte [eax + edi - 3]
lea ebp, [eax + edi - 3]
lea eax, [esp + 0x38]
push eax
mov byte [ebp], 0
mov ecx, dword [esi + 8]
push 1
push ecx
push edi
mov dword [esp + 0x2c], edx
call fcn.00469a00
mov dl, byte [esp + 0x2c]
add esp, 0x10
mov byte [ebp], dl
test eax, eax
jl 0x46e81f
mov ecx, eax
sar ecx, 8
mov byte [edi + 1], cl
mov byte [edi + 2], al
push 0xffffffffffffffff
push 0
add edi, 3
push edi
call fcn.00469cb0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x46e7b0
jmp 0x46e830
sub eax, 0xfffffffe
neg eax
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x24
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x46e88e
push esi
call dword [0x4ac924]
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
sub ecx, ebx
mov dword [edx], ecx
mov esi, eax
mov ecx, str.no_error
test eax, eax
jle 0x46e877
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x46e860
cmp byte [ecx], dl
je 0x46e872
dec esi
test esi, esi
jg 0x46e860
jmp 0x46e877
mov ecx, str.Error_text_not_found__please_report_
mov edx, dword [esp + 0x34]
mov dword [edx], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x46e887
mov dword [ecx], eax
xor eax, eax
jmp 0x46e95d
mov eax, dword [esi + 8]
test al, 0x10
jne 0x46e919
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
push eax
push 0
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.0046dcf0
add esp, 0x10
test eax, eax
je 0x46e8bc
or dword [esi + 8], 0x10
jmp 0x46e919
mov eax, dword [esp + 0x28]
test eax, eax
jge 0x46e8d8
push 0
lea edx, [esp + 0x1c]
push edx
push ebx
call fcn.0046e050
add esp, 0xc
test eax, eax
jl 0x46e900
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x46e8f5
mov edx, dword [esp + 0x3c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x46e8f5
mov eax, ecx
or word [esi + 0xc], 2
mov word [esi + 0x14], ax
jmp 0x46e919
mov eax, dword [esp + 0x78]
push eax
push 0
push ebx
call fcn.0046ddd0
add esp, 0xc
test eax, eax
je 0x46e919
or word [esi + 0xc], 8
mov ecx, dword [esp + 0x24]
test ecx, ecx
jl 0x46e95b
test byte [esi + 8], 0x10
je 0x46e92f
test ecx, 0x200
je 0x46e95b
mov eax, ecx
and eax, 0xff
test ecx, 0x100
je 0x46e950
mov edx, dword [esp + 0x3c]
movzx edx, byte [edx + eax]
cmp edx, eax
jne 0x46e950
and ecx, 0xfffffeff
or word [esi + 0xc], 4
mov eax, ecx
mov word [esi + 0x16], ax
mov eax, esi
mov ecx, dword [esp + 0x109c]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00470538
add esp, 0x1090
ret