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

Disassembly:
push ecx
push ecx
mov eax, dword [esp + 0x10]
push ebx
push esi
xor esi, esi
mov ebx, esi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [eax], esi
call fcn.0058c04b
test eax, eax
jne 0x54d413
push ebp
push edi
mov edi, dword [esp + 0x24]
cmp byte [0x6631ac], bl
je 0x54cfd9
test edi, 0x8000
je 0x54cfdd
mov ebp, esi
jmp 0x54cff1
test edi, 0x10000
je 0x54cfea
xor ebp, ebp
inc ebp
jmp 0x54cff1
movzx ebp, byte [0x6631ad]
test edi, 0x40000
je 0x54d001
and edi, 0xfffdffff
jmp 0x54d00f
cmp dword [0x663270], ebx
je 0x54d00f
or edi, 0x20000
push esi
and edi, 0xfff600e7
push 0x218
mov dword [esp + 0x2c], edi
call fcn.0056cdbf
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x54d055
test ebp, ebp
je 0x54d079
cmp byte [0x6631ac], bl
jne 0x54d03c
xor eax, eax
jmp 0x54d045
push 1
call dword [0x6631f0]
pop ecx
mov dword [esi + 0xc], eax
test eax, eax
jne 0x54d079
push esi
call fcn.00531a22
pop ecx
xor esi, esi
mov ebp, dword [esp + 0x10]
push esi
call fcn.005320cd
mov ebx, eax
pop ecx
cmp bl, 7
jne 0x54d3ec
push esi
call fcn.00530e9a
pop ecx
xor esi, esi
jmp 0x54d3f4
cmp dword [esi + 0xc], ebx
je 0x54d088
push dword [esi + 0xc]
call dword [0x6631f8]
pop ecx
mov eax, edi
mov dword [esi + 0x14], 2
and eax, 0x2000000
mov byte [esi + 0x61], 0x6d
neg eax
mov dword [esi + 0x130], 1
push 0x30
sbb eax, eax
and eax, 0xffffff00
add eax, 0xff
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1cc]
mov dword [esi + 0x10], eax
xor eax, eax
mov word [esi + 0x134], ax
lea eax, [esi + 0x78]
push 0x656a84
push eax
call sub.VCRUNTIME140.dll_memcpy
xor edx, edx
mov byte [esi + 0x55], 1
push edx
push fcn.00537339
push edx
mov dword [esi + 0xa4], edx
mov ebp, 0x657310
mov byte [esi + 0x5a], 0xff
mov eax, dword [0x663250]
mov ecx, dword [0x663254]
or dword [esi + 0x20], 0xe00480e0
push 1
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
push ebp
push esi
mov dword [esi + 0x34], ecx
mov dword [esi + 0x64], edx
mov dword [esi + 0xb8], 0x66339c
mov dword [esi + 0x24], eax
mov dword [esi + 0x1b8], edx
mov dword [esi + 0x1b4], edx
mov dword [esi + 0x1b0], edx
mov dword [esi + 0x1bc], edx
mov dword [esi + 0x18c], edx
mov dword [esi + 0x188], edx
mov dword [esi + 0x184], edx
mov dword [esi + 0x190], edx
call fcn.0053d3fb
push 0
push fcn.00537339
push 0
push 3
push ebp
push esi
call fcn.0053d3fb
push 0
push fcn.00537339
push 0
push 2
push ebp
push esi
call fcn.0053d3fb
add esp, 0x54
xor ebp, ebp
push ebp
push 0x54ced3
push ebp
push 1
push str.NOCASE
push esi
call fcn.0053d3fb
push ebp
push 0x555a58
push ebp
push 1
push str.RTRIM
push esi
call fcn.0053d3fb
add esp, 0x30
cmp byte [esi + 0x57], bl
jne 0x54d277
push 7
pop eax
mov ecx, edi
mov dword [esi + 0x3c], edi
and ecx, eax
xor eax, eax
inc eax
shl eax, cl
test al, 0x46
jne 0x54d1d4
push 0x2c532
call fcn.0056d131
pop ecx
jmp 0x54d1fc
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x3c]
call fcn.0056f0d4
mov edi, dword [esp + 0x3c]
add esp, 0x18
mov ebx, dword [esp + 0x14]
mov ebp, eax
test ebp, ebp
je 0x54d29d
push 7
pop ecx
cmp ebp, ecx
jne 0x54d214
push esi
call fcn.0056d4a3
pop ecx
xor ecx, ecx
mov eax, 0x65a88c
test ebx, ebx
push ebx
cmove eax, ecx
push eax
push ebp
push esi
call fcn.00561fd5
add esp, 0x10
test ebx, ebx
je 0x54d277
cmp dword [0x6631a8], 0
je 0x54d294
mov eax, dword [0x666550]
test eax, eax
je 0x54d24a
push eax
call dword [0x6631f8]
pop ecx
push ebx
call dword [0x6631d4]
sub dword [0x6664e8], eax
dec dword [0x66650c]
push ebx
call dword [0x6631cc]
mov eax, dword [0x666550]
pop ecx
pop ecx
test eax, eax
je 0x54d277
push eax
call dword [0x663200]
pop ecx
mov ebp, dword [esp + 0x10]
cmp dword [esi + 0xc], 0
je 0x54d059
push dword [esi + 0xc]
call dword [0x663200]
pop ecx
jmp 0x54d059
push ebx
call dword [0x6631cc]
jmp 0x54d276
mov eax, dword [esi + 0x10]
or edi, 0x100
mov ebp, dword [esp + 0x10]
xor ebx, ebx
push edi
push ebx
add eax, 4
push eax
push esi
push ebp
push dword [esi]
call fcn.0055c403
add esp, 0x18
test eax, eax
je 0x54d2d8
push 7
pop ecx
cmp eax, 0xc0a
cmove eax, ecx
push eax
push esi
call fcn.00561ecf
pop ecx
pop ecx
jmp 0x54d27b
mov eax, dword [esi + 0x10]
push dword [eax + 4]
call fcn.0055b585
mov eax, dword [esi + 0x10]
push dword [eax + 4]
push esi
call fcn.005751f5
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [ecx + 0xc], eax
cmp byte [esi + 0x57], bl
jne 0x54d310
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x4d]
push eax
push esi
call fcn.00577314
pop ecx
pop ecx
mov eax, dword [esi + 0x10]
push dword [eax + 4]
call fcn.0055c2fd
push ebx
push esi
call fcn.005751f5
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [eax], str.main
mov eax, dword [esi + 0x10]
mov byte [eax + 8], 3
mov eax, dword [esi + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [esi + 0x10]
mov byte [eax + 0x18], 1
mov byte [esi + 0x61], 0x76
cmp byte [esi + 0x57], bl
jne 0x54d27b
push ebx
push esi
call fcn.00561ecf
push 2
push str.MATCH
push esi
call fcn.0052558a
add esp, 0x14
push 7
pop ecx
cmp eax, ecx
jne 0x54d37e
push esi
call fcn.0056d4a3
pop ecx
push esi
call fcn.005320cd
pop ecx
test eax, eax
jne 0x54d3a1
mov edi, 0x6568a8
push esi
cmp edi, str.0123456789ABCDEF
jge 0x54d3d5
call dword [edi]
add edi, 4
pop ecx
test eax, eax
je 0x54d38e
push eax
push esi
call fcn.00561ecf
pop ecx
pop ecx
push dword [0x6631c0]
push dword [0x6631bc]
push ebx
push esi
call fcn.005575f2
push 0x3e8
push 0x5862ce
push esi
call fcn.0052884b
add esp, 0x1c
jmp 0x54d27b
call fcn.00559f45
push esi
call fcn.005320cd
pop ecx
pop ecx
test eax, eax
jne 0x54d27b
jmp 0x54d3aa
test ebx, ebx
je 0x54d3f4
mov byte [esi + 0x61], 0xba
mov eax, dword [esp + 0x20]
mov dword [eax], esi
test ebp, ebp
je 0x54d40f
push ebp
call fcn.0053d856
add eax, 0xfffffffc
push eax
call fcn.00531a22
pop ecx
pop ecx
pop edi
mov eax, ebx
pop ebp
pop esi
pop ebx
pop ecx
pop ecx
ret