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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1094
call fcn.0041c0f0
mov eax, dword [0x437630]
xor eax, esp
mov dword [esp + 0x1090], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0x10]
xor esi, esi
test edx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
jne 0x416254
test edi, edi
je 0x41623d
mov dword [edi], 0x63
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1090]
xor ecx, esp
call fcn.0041bcb1
mov esp, ebp
pop ebp
ret
test edi, edi
mov dword [edx], esi
je 0x41625c
mov dword [edi], esi
test eax, eax
jne 0x41626a
mov eax, 0x10
jmp 0x4167d7
mov edi, dword [ebp + 0xc]
test edi, 0x800
mov dword [eax], esi
je 0x416281
mov eax, 0x20
jmp 0x4167c3
test edi, 0xfe038580
je 0x416293
mov eax, 0x11
jmp 0x4167c3
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x4162a2
mov eax, 0x42f2f0
mov dword [ebp + 0x1c], eax
mov dword [esp + 0x38], eax
lea ecx, [eax + 0x100]
lea edx, [eax + 0x200]
add eax, 0x340
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
cmp byte [ebx], 0x28
jne 0x4163fe
jmp 0x4162d3
mov edi, dword [ebp + 0xc]
cmp byte [ebx + esi + 1], 0x2a
jne 0x4163fe
push 3
lea edi, [ebx + esi + 2]
push 0x434134
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x416311
mov ecx, dword [ebp + 0xc]
mov eax, 0x100000
and ecx, 0xff8fffff
add esi, 5
or ecx, eax
mov dword [ebp + 0xc], ecx
jmp 0x4163f1
push 3
push 0x434138
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x416340
mov ecx, dword [ebp + 0xc]
mov eax, 0x200000
and ecx, 0xff8fffff
add esi, 5
or ecx, eax
mov dword [ebp + 0xc], ecx
jmp 0x4163f1
push 5
push str.CRLF_
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x41636f
mov ecx, dword [ebp + 0xc]
mov eax, 0x300000
and ecx, 0xff8fffff
add esi, 7
or ecx, eax
mov dword [ebp + 0xc], ecx
jmp 0x4163f1
push 4
push str.ANY_
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x41639b
mov ecx, dword [ebp + 0xc]
mov eax, 0x400000
and ecx, 0xff8fffff
add esi, 6
or ecx, eax
mov dword [ebp + 0xc], ecx
jmp 0x4163f1
push 8
push str.ANYCRLF_
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x4163c7
mov ecx, dword [ebp + 0xc]
mov eax, 0x500000
and ecx, 0xff8fffff
add esi, 0xa
or ecx, eax
mov dword [ebp + 0xc], ecx
jmp 0x4163f1
push 0xc
push str.BSR_ANYCRLF_
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x41641f
add esi, 0xe
mov eax, 0x800000
mov edx, dword [ebp + 0xc]
and edx, 0xfe7fffff
or edx, eax
mov dword [ebp + 0xc], edx
cmp byte [ebx + esi], 0x28
je 0x4162d0
mov edi, dword [ebp + 0xc]
mov eax, edi
and eax, 0x1800000
je 0x41643d
cmp eax, 0x800000
je 0x41643d
cmp eax, 0x1000000
je 0x41643d
mov eax, 0x38
jmp 0x4167c3
push 0xc
push str.BSR_UNICODE_
push edi
call fcn.0041c025
add esp, 0xc
test eax, eax
jne 0x4163fb
add esi, 0xe
mov eax, 0x1000000
jmp 0x4163e3
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
mov edx, 2
jg 0x4164a5
je 0x41649c
xor ecx, ecx
cmp eax, ecx
je 0x416466
cmp eax, 0x100000
je 0x416495
cmp eax, 0x200000
jne 0x4164b3
mov eax, 0xa
cmp eax, 0xff
mov dword [esp + 0x88], ecx
jle 0x4164d7
mov dword [esp + 0x8c], edx
mov edx, eax
sar edx, 8
mov byte [esp + 0x90], dl
mov byte [esp + 0x91], al
jmp 0x4164e9
mov eax, 0xd
jmp 0x41646b
mov eax, 0xd0a
xor ecx, ecx
jmp 0x41646b
cmp eax, 0x400000
je 0x4164c8
cmp eax, 0x500000
je 0x4164bd
mov eax, 0x38
jmp 0x4167c3
mov dword [esp + 0x88], edx
xor ecx, ecx
jmp 0x4164e9
mov dword [esp + 0x88], 1
xor ecx, ecx
jmp 0x4164e9
mov dword [esp + 0x8c], 1
mov byte [esp + 0x90], al
lea eax, [esp + 0x98]
mov edx, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x48], eax
mov eax, ebx
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x416525
sub eax, edx
add eax, ebx
lea ecx, [esp + 0x98]
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x58], eax
xor eax, eax
lea ecx, [esp + 0x3c]
push ecx
push eax
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x38]
push ecx
push eax
push eax
push eax
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x48]
push ecx
mov edx, edi
and edx, 7
push edx
add esi, ebx
push edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x48], esi
mov byte [esp + 0xcc], 0x5d
call fcn.00415b40
mov eax, dword [esp + 0x44]
add esp, 0x34
test eax, eax
jne 0x4167c3
mov eax, dword [esp + 0x1c]
cmp eax, 0x10000
jle 0x4165bd
mov eax, 0x14
jmp 0x4167c3
mov ecx, dword [esp + 0x64]
add ecx, 3
imul ecx, dword [esp + 0x60]
lea ebx, [ecx + eax + 0x28]
push ebx
call dword [sym.td.exe_pcre_malloc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4165e7
mov eax, 0x15
jmp 0x4167bf
mov dword [edi + 4], ebx
mov dword [edi], 0x50435245
mov edx, dword [esp + 0x78]
mov dword [edi + 8], edx
movzx eax, word [esp + 0x7c]
xor ecx, ecx
mov word [edi + 0xc], ax
mov word [edi + 0xe], cx
mov word [edi + 0x14], cx
mov word [edi + 0x16], cx
mov word [edi + 0x18], 0x28
movzx edx, word [esp + 0x64]
mov word [edi + 0x1a], dx
movzx eax, word [esp + 0x60]
mov word [edi + 0x1c], ax
mov eax, dword [ebp + 0x1c]
mov edx, eax
sub edx, 0x42f2f0
neg edx
sbb edx, edx
and edx, eax
mov dword [edi + 0x20], edx
mov word [edi + 0x1e], cx
mov dword [edi + 0x24], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
movzx eax, word [edi + 0x18]
push ecx
add eax, edi
mov dword [esp + 0x60], eax
movzx edx, word [edi + 0x1a]
movzx ebx, word [edi + 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 + 0xa0], ecx
mov dword [esp + 0xa4], ecx
lea eax, [esp + 0xb8]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x30]
push ecx
mov byte [ebx], 0x5d
mov eax, dword [edi + 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], esi
mov dword [esp + 0x54], ebx
call fcn.00415b40
movzx eax, word [esp + 0x9c]
mov word [edi + 0x10], ax
mov cx, word [esp + 0xa4]
mov word [edi + 0x12], cx
movzx edx, word [esp + 0xb0]
add esp, 0x34
mov word [edi + 0xc], dx
cmp dword [esp + 0x84], 0
je 0x4166fb
mov dword [esp + 0x24], 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x416713
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x416713
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x20]
mov byte [eax], 0
add eax, 1
sub eax, ebx
cmp eax, dword [esp + 0x1c]
jle 0x416732
mov dword [esp + 0x10], 0x17
jmp 0x4167b1
cmp dword [esp + 0x10], 0
jne 0x4167b1
lea esp, [esp]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x98]
cmp eax, ecx
jbe 0x41679f
sub eax, 2
mov dword [esp + 0x58], eax
movzx edx, byte [eax + 1]
mov dh, byte [eax]
xor ecx, ecx
mov eax, edx
mov ch, byte [eax + ebx]
mov dword [esp + 0x1c], eax
mov cl, byte [eax + ebx + 1]
mov eax, ebx
mov esi, ecx
call fcn.004123d0
test eax, eax
je 0x416795
mov esi, dword [esp + 0x1c]
mov edx, eax
sub edx, ebx
sar edx, 8
sub al, bl
mov byte [esi + ebx], dl
mov byte [esi + ebx + 1], al
cmp dword [esp + 0x10], 0
je 0x416740
jmp 0x4167b1
mov dword [esp + 0x10], 0x35
jmp 0x4167b1
mov ax, word [edi + 0x12]
cmp ax, word [edi + 0x10]
jbe 0x416811
mov dword [esp + 0x10], 0xf
push edi
call dword [sym.td.exe_pcre_free]
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
sub ecx, ebx
mov dword [edx], ecx
mov edx, dword [esp + 0x30]
test eax, eax
mov ecx, eax
mov esi, str.no_error
jle 0x4167f2
mov bl, byte [esi]
add esi, 1
test bl, bl
jne 0x4167e2
sub ecx, 1
test ecx, ecx
jg 0x4167e2
test edi, edi
mov dword [edx], esi
je 0x4167fa
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1090]
xor ecx, esp
call fcn.0041bcb1
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 8]
test al, 0x10
jne 0x41689c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
push eax
push 0
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.00415e60
add esp, 0x10
test eax, eax
je 0x41683f
or dword [edi + 8], 0x10
jmp 0x41689c
mov eax, dword [esp + 0x28]
test eax, eax
jge 0x41685b
push 0
lea edx, [esp + 0x1c]
push edx
push ebx
call fcn.004160a0
add esp, 0xc
test eax, eax
jl 0x416883
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x416878
mov edx, dword [esp + 0x3c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x416878
mov eax, ecx
or word [edi + 0xc], 2
mov word [edi + 0x14], ax
jmp 0x41689c
mov eax, dword [esp + 0x74]
push eax
push 0
push ebx
call fcn.00415f40
add esp, 0xc
test eax, eax
je 0x41689c
or word [edi + 0xc], 8
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x4168da
test byte [edi + 8], 0x10
je 0x4168b1
test eax, 0x200
je 0x4168da
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x4168d1
mov edx, dword [esp + 0x3c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x4168d1
and eax, 0xfffffeff
or word [edi + 0xc], 4
mov word [edi + 0x16], ax
mov ecx, dword [esp + 0x109c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041bcb1
mov esp, ebp
pop ebp
ret