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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx]
ja 0x5548b3
xor edi, edi
mov eax, 0x1c
call fcn.0044c660
jmp fcn.00554890
sub esp, 0xa8
movsd xmm1, qword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov ebp, dword [ecx + 0x44]
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x27], 0x28
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x6c]
cmp ebx, 0
je 0x554d60
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ebp
mov eax, ebp
sub ebp, edx
cmp ebp, 1
jge 0x554971
mov dword [esp], 0x787100
mov dword [esp + 0x90], esi
mov dword [esp + 4], esi
mov dword [esp + 0x94], edx
mov dword [esp + 8], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
movsd xmm1, qword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, edx
inc ebx
mov edi, eax
mov eax, esi
mov esi, ebx
mov dword [esp + 0x98], edi
lea ebx, [eax + edx]
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x6c]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movzx ebp, byte [ecx + 0x53]
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
movzx ebp, byte [ecx + 0x55]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
mov ebp, dword [ecx + 0x48]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0
mov ebx, dword [esp + 0xc4]
cmp ebx, 0x47
jg 0x554be4
cmp ebx, 0x45
jne 0x554d0b
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x554d04
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x45
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
cmp dword [esp + 0x40], 0
je 0x554baa
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
mov byte [ecx + 0x55], al
xchg ebp, eax
movzx ebp, byte [esp + 0x26]
xchg ebp, eax
mov byte [ecx + 0x53], al
xchg ebp, eax
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x48], ebp
mov ebp, dword [ecx + 0x44]
mov ebx, dword [0xc8f650]
mov dword [esp + 0x84], ebx
mov ebx, dword [0xc8f654]
mov dword [esp + 0x88], ebx
mov ebx, dword [0xc8f658]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x68], ebp
cmp ebp, 0
je 0x554ba2
mov ebx, ebp
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [esp + 0xa0], ebp
mov esi, dword [ebx + 8]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x94], ebp
mov ebx, dword [esp + 0x88]
mov edi, ebp
add ebp, ebx
mov dword [esp + 0x98], esi
sub ebp, esi
cmp ebp, 0
jle 0x554b41
mov dword [esp], 0x787100
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, ebp
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004498c0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x90]
lea ebp, [ebp + ebx]
mov dword [esp], ebp
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0044e7b0
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0xa0]
add edx, edi
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0x68]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
add esp, 0xa8
ret
mov dword [ebp], eax
jmp 0x554aa8
mov byte [ecx + 0x53], 1
mov byte [ecx + 0x55], 0
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x48], ebp
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0xb0], xmm1
mov ebx, dword [esp + 0x40]
inc ebx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0xc4]
cmp ebx, 0x47
jle 0x5549f1
cmp ebx, 0x65
jg 0x554c70
cmp ebx, 0x62
jne 0x554c24
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x62
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
jmp 0x554a38
cmp ebx, 0x65
jne 0x554a38
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x554c6c
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x65
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
jmp 0x554a38
mov eax, edx
jmp 0x554c3e
cmp ebx, 0x66
jne 0x554cb8
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x554cb4
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x66
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
jmp 0x554a38
mov eax, edx
jmp 0x554c86
cmp ebx, 0x67
jne 0x554a38
mov edx, 0xffffffff
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x554d00
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x67
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
jmp 0x554a38
mov eax, edx
jmp 0x554cd2
mov eax, edx
jmp 0x554a0f
cmp ebx, 0x46
je 0x554c75
cmp ebx, 0x47
jne 0x554a38
mov edx, 0xffffffff
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x554d5c
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x47
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00553bd0
mov ecx, dword [esp + 0xac]
jmp 0x554a38
mov eax, edx
jmp 0x554d2e
mov dword [ebx], eax
jmp 0x5548f2