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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x54b358
sub esp, 0x80
mov ecx, dword [esp + 0x84]
movzx ebx, byte [ecx + 0x3d]
test bl, bl
jne 0x54b313
mov byte [ecx + 0x3c], 1
jmp 0x54ac14
mov edx, ebx
mov eax, ecx
mov ecx, dword [edx + 0x2c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x20]
mov esi, dword [edx + 0x1c]
cmp ecx, ebp
ja 0x54b322
mov dword [esp + 0x3c], eax
mov eax, dword [edx]
mov edi, dword [edx + 4]
mov eax, dword [eax + 0x10]
sub ebx, ecx
mov dword [esp + 0x58], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
add ebx, esi
mov dword [esp + 4], ebx
sub ebp, ecx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
mov dword [esp], edi
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x84]
add dword [ebx + 0x2c], edx
test ecx, ecx
jne 0x54ae25
test edx, edx
jg 0x54ae19
mov ecx, dword [esp + 0x3c]
inc ecx
cmp ecx, 0x64
jle 0x54ab68
mov eax, dword [0x801ce4]
mov dword [esp + 0x78], eax
mov ecx, dword [0x801ce0]
mov dword [esp + 0x54], ecx
mov ebp, dword [ebx + 0x34]
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x54add8
mov ecx, dword [0x801cd0]
cmp ecx, esi
je 0x54adb9
mov ecx, ebx
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x28]
cmp ebx, ebp
jg 0x54af95
mov esi, dword [ecx + 0x30]
test esi, esi
jne 0x54af95
mov edx, dword [ecx + 0x30]
test edx, edx
jne 0x54af78
mov edx, dword [ecx + 0x28]
test edx, edx
jle 0x54af74
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x24]
mov esi, dword [ecx + 0x20]
mov eax, ecx
mov ecx, dword [ecx + 0x1c]
cmp ebx, esi
jne 0x54af5e
test ebx, ebx
jl 0x54b330
cmp edx, ebx
ja 0x54b330
cmp ebx, ebp
ja 0x54b330
sub ebx, edx
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
lea ebp, [ecx + edx]
cmp esi, ebx
jle 0x54af57
test edx, edx
je 0x54ac9f
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044c0d0
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x2c]
sub edx, dword [ecx + 0x28]
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x28], 0
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x20]
cmp edx, ebx
jne 0x54af50
mov edx, dword [ecx + 0xc]
cmp ebx, edx
jge 0x54aecb
cmp ebx, 0x3fffffff
jg 0x54aecb
shl ebx, 1
test ebx, ebx
jne 0x54aec4
mov eax, 0x1000
cmp eax, edx
jle 0x54aebd
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00437c50
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x24]
mov edi, dword [ebx + 0x28]
mov eax, dword [ebx + 0x2c]
test eax, eax
jl 0x54b329
cmp edi, eax
ja 0x54b329
cmp eax, esi
ja 0x54b329
sub eax, edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edi, esi
add ebp, edi
cmp ecx, eax
jle 0x54aeb6
mov dword [esp + 0x30], ecx
mov dword [esp + 0x60], edx
cmp edx, ebp
je 0x54ad78
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0044c0d0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54aea5
mov eax, dword [esp + 0x60]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x2c]
sub eax, dword [edx + 0x28]
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], 0
xor eax, eax
jmp 0x54ab6c
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54ae0d
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x84]
mov dword [ebx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54adfc
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x34], ecx
jmp 0x54ac12
lea edi, [ebx + 0x34]
mov eax, dword [esp + 0x78]
call fcn.0044b8d0
jmp 0x54ac12
mov ebx, dword [esp + 0x84]
jmp 0x54ac12
mov dword [ebx + 0x38], 0
jmp 0x54ac12
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], ecx
mov ebp, dword [ebx + 0x34]
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x54ae64
mov ecx, dword [0x801cd0]
cmp ecx, esi
jne 0x54ac12
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54ae99
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x84]
mov dword [ebx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54ae88
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x34], ecx
jmp 0x54ac12
lea edi, [ebx + 0x34]
mov eax, dword [esp + 0x70]
call fcn.0044b8d0
jmp 0x54ac12
mov ebx, dword [esp + 0x84]
jmp 0x54ac12
lea edi, [edx + 0x1c]
mov eax, dword [esp + 0x60]
call fcn.0044b8d0
jmp 0x54ada2
mov eax, ecx
jmp 0x54ad5c
mov edx, eax
jmp 0x54acf2
mov eax, ebx
jmp 0x54acea
mov eax, dword [0x801b1c]
mov dword [esp + 0x68], eax
mov edx, dword [0x801b18]
mov dword [esp + 0x40], edx
mov ebx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x34]
test ebx, ebx
je 0x54af21
mov esi, dword [0x801cd0]
cmp esi, ebx
je 0x54af02
mov byte [esp + 0x88], 0
add esp, 0x80
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54aef3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54af42
mov eax, dword [esp + 0x68]
mov dword [edx + 0x34], eax
jmp 0x54aef3
lea edi, [edx + 0x34]
mov eax, dword [esp + 0x68]
call fcn.0044b8d0
jmp 0x54aef3
mov edx, ecx
jmp 0x54adb2
mov ebx, esi
jmp 0x54ac8b
mov edi, esi
shr esi, 1
cmp edx, esi
jle 0x54af6d
mov esi, edi
jmp 0x54ac59
mov ecx, eax
jmp 0x54acb6
mov eax, ecx
jmp 0x54af6d
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov byte [esp + 0x88], 0
add esp, 0x80
ret
mov eax, dword [ecx + 0x24]
mov esi, dword [ecx + 0x1c]
test ebx, ebx
jl 0x54b351
cmp ebp, ebx
ja 0x54b351
cmp ebx, eax
ja 0x54b351
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0x30]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
sub eax, ebp
mov edi, eax
neg eax
sar eax, 0x1f
and eax, ebp
add eax, esi
mov dword [esp], eax
sub ebx, ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x5c], edi
test ebx, ebx
jne 0x54b216
mov dword [esp + 0x38], eax
test eax, eax
jge 0x54b14f
mov ecx, dword [0x801b0c]
mov dword [esp + 0x74], ecx
mov edx, dword [0x801b08]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x34]
mov dword [esp + 0x7c], ebp
mov ebp, dword [ebx + 0x30]
test ebp, ebp
je 0x54b0f7
mov ecx, dword [0x801cd0]
cmp ecx, ebp
je 0x54b0d4
xor ecx, ecx
test cl, cl
je 0x54b0c5
mov dword [ebx + 0x14], esi
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x18], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54b0af
mov dword [ebx + 0x10], edi
test edi, edi
jne 0x54b07d
mov ecx, ebx
jmp 0x54ac2d
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x54b088
test eax, eax
jle 0x54b09e
mov dword [ebx + 0x38], 0
mov byte [esp + 0x88], 1
add esp, 0x80
ret
mov eax, dword [ebx + 0x38]
inc eax
mov dword [ebx + 0x38], eax
cmp eax, 0x64
jle 0x54b08f
jmp 0x54b337
lea ecx, [ebx + 0x10]
mov edx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0044b8d0
mov eax, ebp
mov edi, edx
jmp 0x54b072
mov byte [esp + 0x88], 0
add esp, 0x80
ret
mov dword [esp], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54b137
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54b129
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x34], ecx
mov eax, dword [esp + 0x38]
mov ebx, edx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
jmp 0x54b055
lea edi, [edx + 0x34]
mov eax, dword [esp + 0x74]
call fcn.0044b8d0
jmp 0x54b116
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
jmp 0x54b055
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x28]
sub edx, ebx
cmp eax, edx
jle 0x54b204
mov edx, dword [0x801ae4]
mov dword [esp + 0x6c], edx
mov ebx, dword [0x801ae0]
mov dword [esp + 0x44], ebx
mov ebp, dword [ecx + 0x30]
mov esi, dword [ecx + 0x34]
test ebp, ebp
je 0x54b1ba
mov edx, dword [0x801cd0]
cmp edx, ebp
je 0x54b19b
mov ebx, ecx
mov esi, dword [esp + 0x28]
xor ecx, ecx
jmp 0x54b057
mov dword [esp], ebp
mov dword [esp + 4], esi
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54b1f3
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54b1e5
mov ecx, dword [esp + 0x6c]
mov dword [edx + 0x34], ecx
mov eax, dword [esp + 0x38]
mov ecx, edx
mov edi, dword [esp + 0x5c]
jmp 0x54b18e
lea edi, [edx + 0x34]
mov eax, dword [esp + 0x6c]
call fcn.0044b8d0
jmp 0x54b1d9
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x5c]
jmp 0x54b18e
lea edx, [eax + ebx]
mov dword [ecx + 0x28], edx
mov ebx, ecx
mov ecx, 1
jmp 0x54b057
mov dword [esp + 0x64], ecx
mov dword [esp + 0x4c], ebx
mov edx, dword [0x801af0]
cmp edx, ebx
je 0x54b2a0
mov edx, dword [esp + 0x84]
mov ebp, dword [edx + 0x34]
mov esi, dword [edx + 0x30]
test esi, esi
je 0x54b271
mov eax, dword [0x801cd0]
cmp eax, esi
je 0x54b252
mov byte [esp + 0x88], 0
add esp, 0x80
ret
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [0x801cd4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54b243
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x30], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54b292
mov eax, dword [esp + 0x64]
mov dword [edx + 0x34], eax
jmp 0x54b243
lea edi, [edx + 0x34]
mov eax, dword [esp + 0x64]
call fcn.0044b8d0
jmp 0x54b243
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov eax, dword [0x801af4]
mov dword [esp + 8], eax
call fcn.00402e00
movzx eax, byte [esp + 0xc]
test al, al
je 0x54b306
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0x18], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x54b2f8
mov eax, dword [esp + 0x5c]
mov dword [edx + 0x10], eax
mov byte [edx + 0x3d], 1
mov byte [esp + 0x88], 1
add esp, 0x80
ret
lea edi, [edx + 0x10]
mov eax, dword [esp + 0x5c]
call fcn.0044b8d0
jmp 0x54b2e5
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
jmp 0x54b228
mov byte [esp + 0x88], 0
add esp, 0x80
ret
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
lea eax, [0x5ff860]
mov dword [esp], eax
lea eax, [0x683040]
mov dword [esp + 4], eax
call fcn.004267f0
ud2
call fcn.00425a10
ud2
call fcn.0044a170
jmp fcn.0054ab30