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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x54d476
sub esp, 0xf0
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
xor eax, eax
jmp 0x54ca90
inc eax
cmp eax, ebx
jge 0x54caa2
mov ebp, dword [edx + eax*4]
cmp dword [ebp + 0x18], 0x1000
jne 0x54ca8f
jmp 0x54caa4
xor ebp, ebp
test ebp, ebp
je 0x54cf14
mov edx, dword [ebp + 0x3c]
mov ebx, dword [edx + 8]
mov esi, dword [edx + 0xc]
mov dword [edx + 0x10], ebx
mov dword [edx + 0x14], esi
xor edx, edx
test edx, edx
jne 0x54ced6
mov dword [esp + 0xd8], ebp
movzx edx, word [ecx]
cmp dx, 0x1df
je 0x54cbcf
cmp dx, 0x1f7
je 0x54caf8
xor eax, eax
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
jmp 0x54cc5b
lea edi, [esp + 0x80]
xor eax, eax
call fcn.0046ab92
mov ecx, dword [ebp + 0x3c]
lea edx, [0x634c48]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x63620c]
mov dword [esp + 8], ecx
lea ebx, [0x776160]
mov dword [esp + 0xc], ebx
lea esi, [0x5b9380]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x80]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x54cb95
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov edi, esi
mov dword [esp + 0x34], ebx
mov ebx, eax
mov esi, ebp
mov ebp, dword [esp + 0xd8]
mov eax, ecx
mov ecx, dword [esp + 0xf4]
jmp 0x54cc5b
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf0
ret
lea edi, [esp + 0xb8]
xor eax, eax
call fcn.0046ab98
mov ecx, dword [ebp + 0x3c]
lea edx, [0x634c48]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x63620c]
mov dword [esp + 8], ecx
lea ebx, [0x776160]
mov dword [esp + 0xc], ebx
lea esi, [0x5b9340]
mov dword [esp + 0x10], esi
lea esi, [esp + 0xb8]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x54ce9c
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xd8]
xor edx, edx
mov esi, 0x20
xor edi, edi
mov dword [esp + 0x34], ebx
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
mov edi, dword [ebp + 0x3c]
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
add eax, esi
adc edx, ecx
cmp ecx, edx
setg cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, esi
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
or ecx, esi
test cl, cl
je 0x54cc9b
mov eax, dword [0x72fb08]
mov ecx, dword [0x72fb0c]
jmp 0x54cca5
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x54ce66
mov dword [esp + 0x30], ebx
lea eax, [0x5c2bc0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x3c]
lea ebx, [0x634c48]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x54ce2c
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 4], ecx
call sym.internal_xcoff._File_.readImportIDs
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x54cdf2
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 0x3c]
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x24]
add ebx, esi
mov edx, dword [esp + 0x28]
adc edx, eax
cmp eax, edx
sete al
xchg edi, ebx
setg bl
xchg edi, ebx
cmp ebx, esi
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, eax
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x54cd89
mov edx, dword [0x72fb08]
mov ebx, dword [0x72fb0c]
jmp 0x54cd93
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], edx
xor edx, edx
xor ebx, ebx
test edx, edx
jne 0x54cdbc
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
xor eax, eax
lea esi, [0x776160]
xor edi, edi
jmp 0x54cf76
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], ebx
add esp, 0xf0
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
add esp, 0xf0
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
add esp, 0xf0
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
add esp, 0xf0
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf0
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf0
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf0
ret
mov ebp, dword [esp + 0x40]
dec ebp
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xe4]
mov ecx, edi
mov esi, ebx
mov edi, edx
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x3c]
test ebp, ebp
jle 0x54d211
mov dword [esp + 0x40], ebp
mov dword [esp + 0xe8], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edi
movzx edx, word [edx]
cmp dx, 0x1df
je 0x54d07e
cmp dx, 0x1f7
je 0x54cfbe
xor edx, edx
xor edx, edx
mov dword [esp + 0xe0], edx
xor edx, edx
mov dword [esp + 0x38], edx
xor edx, edx
jmp 0x54d28b
lea edi, [esp + 0x50]
xor eax, eax
call fcn.0046ab9a
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x3c]
lea ebx, [0x634c48]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [0x63620c]
mov dword [esp + 8], edx
lea ebp, [0x776160]
mov dword [esp + 0xc], ebp
lea esi, [0x5b9400]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x50]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x54d19d
movzx ebx, byte [esp + 0x5e]
test bl, 0x40
jne 0x54d039
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xe8]
jmp 0x54cf52
mov eax, dword [esp + 0x58]
cmp eax, 4
jae 0x54d048
mov ecx, dword [esp + 0x30]
jmp 0x54d050
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jg 0x54d05b
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x54d41d
jb 0x54d470
mov edx, ecx
sub edx, eax
mov ebx, edx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0xec]
add eax, ebx
xor ebp, ebp
jmp 0x54d3e1
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0046ab9a
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x3c]
lea ebx, [0x634c48]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [0x63620c]
mov dword [esp + 8], edx
lea ebp, [0x776160]
mov dword [esp + 0xc], ebp
lea esi, [0x5b93c0]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x68]
mov dword [esp + 0x14], esi
call sym.encoding_binary.Read
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x54d1d7
movzx ebx, byte [esp + 0x76]
test bl, 0x40
jne 0x54d0f9
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xe8]
jmp 0x54cf52
mov ebx, dword [esp + 0x68]
bswap ebx
nop
test ebx, ebx
je 0x54d10b
xor eax, eax
jmp 0x54d398
mov eax, dword [esp + 0x6c]
bswap eax
nop
cmp eax, 4
jae 0x54d11d
mov ecx, dword [esp + 0x30]
jmp 0x54d125
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jg 0x54d12d
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x54d181
jb 0x54d392
mov edx, ecx
sub edx, eax
mov ebx, edx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0xec]
add ebx, eax
xor ebp, ebp
jmp 0x54d244
cmp ebp, edx
ja 0x54d38b
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x30]
mov eax, 1
test al, al
jne 0x54d25c
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xe8]
jmp 0x54cf52
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf0
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf0
ret
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf0
ret
inc ebp
cmp ebp, edx
jge 0x54d152
movzx esi, byte [ebp + ebx]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x54d243
jmp 0x54d150
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x44]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x3c]
mov edx, ebp
mov ebp, dword [esp + 0x40]
test edx, edx
je 0x54d2bf
cmp edx, ebx
jg 0x54d2b3
lea ebp, [edx - 1]
cmp ebx, ebp
jbe 0x54d382
lea edx, [ecx + edx*8 - 8]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], edx
mov edx, ebp
mov ebp, dword [esp + 0x40]
jmp 0x54d2c9
xor edx, edx
xor edx, edx
mov dword [esp + 0x2c], edx
xor edx, edx
jmp 0x54d2c9
xor edx, edx
xor edx, edx
mov dword [esp + 0x2c], edx
xor edx, edx
inc edi
cmp eax, edi
jae 0x54d319
mov dword [esp + 0xdc], edx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5cd120]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
lea ecx, [edi - 1]
shl ecx, 4
mov ebx, dword [esp + 0x38]
mov dword [esi + ecx + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esi + ecx + 0xc], ebx
mov ebx, dword [0x776350]
test ebx, ebx
je 0x54d367
mov dword [esp + 0x4c], eax
mov ebx, edi
call sym.runtime.gcWriteBarrier4
mov ebp, dword [esp + 0xe0]
mov dword [edi], ebp
mov eax, dword [esi + ecx]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov eax, dword [esi + ecx + 8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x40]
mov edi, ebx
mov ebp, dword [esp + 0xe0]
mov dword [esi + ecx], ebp
mov dword [esi + ecx + 8], edx
mov ecx, dword [esp + 0x30]
mov edx, edi
mov ebx, esi
jmp 0x54cf52
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicIndexU
mov ecx, ebp
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceBU
inc eax
cmp eax, 8
jge 0x54d3a9
movzx ebx, byte [esp + eax + 0x68]
test bl, bl
jne 0x54d397
cmp eax, 8
ja 0x54d3d4
mov dword [esp], 0
lea ecx, [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
jmp 0x54d25c
mov ecx, eax
mov edx, 8
call sym.runtime.panicSliceAcap
inc ebp
cmp ebp, edx
jge 0x54d3f2
movzx esi, byte [ebp + eax]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x54d3e0
cmp ebp, edx
ja 0x54d469
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x30]
mov eax, 1
test al, al
je 0x54d455
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x44]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x3c]
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x54d28b
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xe8]
jmp 0x54cf52
mov ecx, ebp
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceBU
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_xcoff._File_.ImportedSymbols