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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x68c5a8
push eax
mov al, byte [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
xor ebx, ebx
push ebp
push esi
cmp al, bl
push edi
mov esi, ecx
je 0x5483c0
mov ebp, 0x28
or edi, 0xffffffff
mov ecx, dword [esi]
and ecx, 0x3c00000
cmp ecx, 0x1800000
jne 0x5483c0
mov dx, word [esi + 0x72]
cmp dx, word [esi + 0x76]
jne 0x548105
mov cx, word [esi + 0x74]
cmp cx, word [esi + 0x78]
jne 0x548105
dec al
mov ecx, dword [esi + 0xa]
mov byte [esp + 0x5c], al
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x1fc]
test eax, eax
je 0x5480da
mov ecx, dword [esi + 0xa]
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x6c]
cmp word [eax + 0x185], bx
je 0x5480da
mov ecx, dword [esi + 0xa]
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x6c]
test byte [eax + 0x17b], 8
je 0x5480da
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0x78]
mov cx, word [esi + 0x76]
shl eax, 0x10
or eax, ecx
mov ecx, dword [esi + 0xe]
mov edx, dword [ecx + 0x1105]
cmp word [edx + 0x4650], 0x14
jbe 0x5480da
mov cx, word [ecx + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov word [esp + 0x20], cx
mov ecx, dword [esi + 0xa]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x58], ebx
call fcn.00558314
neg eax
sbb eax, eax
mov dword [esp + 0x54], edi
inc eax
cmp al, bl
jne 0x5483c0
mov word [esi + 0x4f7], 0xf0
inc word [esi + 0x76]
mov byte [esi + 0x8f], bl
mov byte [esi + 0x90], 1
mov byte [esi + 0x93], 1
mov byte [esi + 0x92], 1
mov byte [esi + 0x91], 2
jmp 0x5483b4
cmp al, bl
je 0x5483b4
mov ecx, dword [esi]
and ecx, 0x3c00000
cmp ecx, 0x1800000
jne 0x5483b4
cmp byte [esi + 0x91], 2
jne 0x54826c
cmp al, bl
je 0x5483a8
mov ecx, dword [esi + 0xa]
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x1fc]
test eax, eax
je 0x548205
mov ecx, dword [esi + 0xa]
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x6c]
cmp word [eax + 0x185], bx
je 0x548205
mov ecx, dword [esi + 0xa]
xor eax, eax
mov ax, word [esi + 0x78]
mov edx, dword [ecx]
push eax
xor eax, eax
mov ax, word [esi + 0x76]
push eax
call dword [edx + 0x6c]
test byte [eax + 0x17b], 8
je 0x548205
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0x78]
mov cx, word [esi + 0x76]
shl eax, 0x10
or eax, ecx
mov ecx, dword [esi + 0xe]
mov edx, dword [ecx + 0x1105]
cmp word [edx + 0x4650], 0x14
jbe 0x548205
mov cx, word [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
mov word [esp + 0x34], cx
mov ecx, dword [esi + 0xa]
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x58], 1
call fcn.00558314
neg eax
sbb eax, eax
mov dword [esp + 0x54], edi
inc eax
cmp al, bl
jne 0x548373
mov word [esi + 0x4f7], 0xf0
movsx cx, byte [esi + 0x90]
mov al, byte [esi + 0x93]
add word [esi + 0x78], cx
mov dl, byte [esp + 0x5c]
dec al
dec dl
cmp al, bl
mov byte [esi + 0x93], al
mov byte [esp + 0x5c], dl
je 0x54823c
mov al, dl
cmp al, bl
jne 0x548136
jmp 0x5483a8
mov cl, byte [esi + 0x92]
mov dl, byte [esi + 0x90]
inc cl
mov byte [esi + 0x91], 1
mov al, cl
mov byte [esi + 0x92], cl
neg dl
mov byte [esi + 0x93], al
mov byte [esi + 0x8f], dl
jmp 0x5483a8
cmp al, bl
je 0x5483a8
mov ecx, dword [esi + 0xa]
xor edx, edx
mov dx, word [esi + 0x78]
mov eax, dword [ecx]
push edx
xor edx, edx
mov dx, word [esi + 0x76]
push edx
call dword [eax + 0x1fc]
test eax, eax
je 0x54833f
mov ecx, dword [esi + 0xa]
xor edx, edx
mov dx, word [esi + 0x78]
mov eax, dword [ecx]
push edx
xor edx, edx
mov dx, word [esi + 0x76]
push edx
call dword [eax + 0x6c]
cmp word [eax + 0x185], bx
je 0x54833f
mov ecx, dword [esi + 0xa]
xor edx, edx
mov dx, word [esi + 0x78]
mov eax, dword [ecx]
push edx
xor edx, edx
mov dx, word [esi + 0x76]
push edx
call dword [eax + 0x6c]
test byte [eax + 0x17b], 8
je 0x54833f
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0x78]
mov cx, word [esi + 0x76]
shl eax, 0x10
or eax, ecx
mov ecx, dword [esi + 0xe]
mov edx, dword [ecx + 0x1105]
cmp word [edx + 0x4650], 0x14
jbe 0x54833f
mov cx, word [ecx + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov word [esp + 0x48], cx
mov ecx, dword [esi + 0xa]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x58], 2
call fcn.00558314
neg eax
sbb eax, eax
mov dword [esp + 0x54], edi
inc eax
cmp al, bl
jne 0x548373
mov word [esi + 0x4f7], 0xf0
movsx cx, byte [esi + 0x8f]
mov al, byte [esi + 0x92]
add word [esi + 0x76], cx
mov dl, byte [esp + 0x5c]
dec al
dec dl
cmp al, bl
mov byte [esi + 0x92], al
mov byte [esp + 0x5c], dl
je 0x548379
mov al, dl
cmp al, bl
jne 0x548274
jmp 0x5483a8
mov byte [esp + 0x5c], bl
jmp 0x5483a8
mov al, byte [esi + 0x93]
mov dl, byte [esi + 0x8f]
cmp al, 7
mov byte [esi + 0x92], al
mov byte [esi + 0x90], dl
mov byte [esi + 0x91], 2
jl 0x5483a8
mov eax, dword [esi]
mov dword [esi + 4], ebx
and eax, 0xfc3fffff
mov dword [esi], eax
mov al, byte [esp + 0x5c]
cmp al, bl
jne 0x54810d
mov al, byte [esp + 0x5c]
cmp al, bl
jne 0x547fd9
mov ecx, dword [esp + 0x4c]
mov al, byte [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x48
ret 4