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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x54ffdc
sub esp, 0xfc
mov eax, 0
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov byte [esp + 0x2b], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
call fcn.0054e7e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edx
test ebx, ebx
jne 0x54f803
mov dword [esp + 0x6c], eax
lea ecx, [0x656690]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf4], eax
mov byte [esp + 0x2b], 1
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0045e875
mov dword [esp + 0xc0], 0x2c
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x24]
test edx, edx
jne 0x54f7cd
mov dword [esp + 0x54], 0
mov dword [esp + 0x54], 1
mov edx, 1
lea ebx, [esp + 0x54]
mov dword [esp + 0x38], edx
mov dword [esp + 0x7c], ebx
lea eax, [0x604080]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00447550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x38]
mov ebx, edx
xor ebp, ebp
xor esi, esi
jmp 0x54f842
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xfc
ret
mov eax, dword [esp + 0x50]
inc eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x38]
mov edx, ebp
mov ebp, eax
mov eax, ecx
mov ecx, dword [esp + 0x7c]
cmp ebp, ebx
jge 0x54fa21
mov ebx, dword [ecx + ebp*4]
test ebx, ebx
je 0x54fa1d
mov dword [esp + 0x50], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], esi
mov eax, dword [0x7eea98]
lea ecx, [0x60e920]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0040e200
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
movzx edx, byte [esp + 0x10]
test dl, dl
je 0x54f910
test ecx, ecx
jbe 0x54ffc8
mov edx, dword [esp + 0x2c]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
jb 0x54f8b4
mov ecx, dword [esp + 0x70]
jmp 0x54f8f5
mov dword [esp + 0x74], eax
lea eax, [0x604080]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004476d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, eax
mov ebp, edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x2c]
mov esi, ebx
mov ebx, dword [0x816df0]
lea edi, [ecx + edx*4]
test ebx, ebx
jne 0x54f909
mov dword [ecx + edx*4], eax
jmp 0x54f91c
call fcn.0045e5d0
jmp 0x54f91c
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
cmp edx, 1
jne 0x54f82b
mov edx, dword [0x7ea384]
mov eax, dword [str.1.3.6.1.4.1.311.10.3.3]
test edx, edx
jbe 0x54ffbf
lea edx, [esi + 1]
cmp ebp, edx
jae 0x54f987
mov dword [esp + 0x84], eax
mov dword [esp + 0x4c], esi
lea eax, [0x604080]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476d0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x4c]
mov ebx, dword [0x816df0]
lea edi, [ecx + esi*4]
test ebx, ebx
jne 0x54f999
mov dword [ecx + esi*4], eax
jmp 0x54f99e
call fcn.0045e5d0
mov ebx, dword [0x7ea394]
mov eax, dword [str.2.16.840.1.113730.4.1]
test ebx, ebx
jbe 0x54ffb6
lea ebx, [edx + 1]
cmp ebp, ebx
jae 0x54f9fc
mov dword [esp + 0x58], edx
mov dword [esp + 0x84], eax
lea eax, [0x604080]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004476d0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x58]
mov esi, ebx
mov ebx, dword [0x816df0]
lea edi, [ecx + edx*4]
test ebx, ebx
jne 0x54fa13
mov dword [ecx + edx*4], eax
jmp 0x54f82b
call fcn.0045e5d0
jmp 0x54f82b
xor esi, esi
xor eax, eax
test eax, eax
je 0x54fa48
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], esi
test esi, esi
jbe 0x54ffad
mov dword [esp + 0xcc], eax
jmp 0x54fa69
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov ecx, dword [esp + 0x104]
lea esi, [ecx + 0x10]
mov dword [esp + 0x94], esi
lea edi, [esp + 0xac]
call fcn.0045ed5e
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
test edx, 0x80000000
je 0x54fac8
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or edx, ecx
mov ecx, ebx
shl ebx, 1
mov ebp, edx
shl edx, 1
shr ebx, 0x1f
or ebx, edx
mov edx, ebx
add ebx, 0xd7b17f80
shr ebp, 0x1f
add edx, 0xd7b17f80
adc ebp, 0xd
jmp 0x54fad6
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
test ebx, ebx
sete dl
test ebp, ebp
sete bl
and ebx, edx
test bl, bl
je 0x54faf1
test ecx, 0x3fffffff
sete cl
jmp 0x54faf3
xor ecx, ecx
xor ecx, 1
test cl, cl
je 0x54fbd4
lea edi, [esp + 0x98]
mov esi, dword [esp + 0x94]
call fcn.0045ed5e
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
test edx, 0x80000000
je 0x54fb53
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or edx, ecx
mov ecx, ebx
shl ebx, 1
mov ebp, edx
shl edx, 1
shr ebx, 0x1f
or ebx, edx
mov edx, ebx
add ebx, 0xd7b17f80
shr ebp, 0x1f
add edx, 0xd7b17f80
adc ebp, 0xd
jmp 0x54fb61
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov eax, 0x3b9aca00
mul ebx
and ecx, 0x3fffffff
mov ebx, eax
add eax, ecx
mov esi, eax
add eax, 0x3d1a0000
imul ebp, ebp, 0x3b9aca00
add edx, ebp
mov ebp, ecx
sar ecx, 0x1f
add ebx, ebp
adc edx, ecx
add esi, 0x3d1a0000
adc edx, 0xa1b203eb
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
call fcn.00458480
mov ecx, dword [esp + 0x10]
add ecx, 0xd53e8000
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], ecx
adc edx, 0x19db1de
mov dword [esp + 0x60], edx
lea eax, [esp + 0x5c]
jmp 0x54fbd6
xor eax, eax
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x10]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [esp + 0xc0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x18], 0
lea eax, [esp + 0x68]
mov dword [esp + 0x1c], eax
call fcn.0048bdc0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
test edx, edx
jne 0x54fdb3
lea eax, [0x65668c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xec], eax
mov byte [esp + 0x2b], 3
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.0054f290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x64], esi
test eax, eax
je 0x54fcb1
mov eax, esi
mov edi, ebp
jmp 0x54fd88
mov dword [esp + 0x80], ecx
mov eax, esi
mov esi, dword [esp + 0x10c]
mov edi, ebp
lea ebp, [esi + 1]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x110]
cmp ecx, ebp
jb 0x54fce8
mov ecx, dword [esp + 0x8c]
jmp 0x54fd42
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], ebx
lea eax, [0x604740]
mov dword [esp], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x110], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x90]
lea ebp, [esi + 1]
mov dword [esp + 0x10c], ebp
lea ebp, [esi + esi*2]
mov dword [ecx + ebp*4 + 4], edx
mov dword [ecx + ebp*4 + 8], ebx
mov esi, dword [0x816df0]
mov edx, ecx
lea ecx, [ecx + ebp*4]
test esi, esi
jne 0x54fd72
mov ecx, dword [esp + 0x80]
mov dword [edx + ebp*4], ecx
jmp 0x54fd88
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x80]
call fcn.0045e5d0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x14]
test edx, edx
jbe 0x54fdef
mov ecx, dword [ecx + 0x18]
test byte [ecx], al
cmp edx, 0x100000
ja 0x54ffa3
mov dword [esp + 0x34], edx
mov dword [esp + 0x78], ecx
xor ebx, ebx
jmp 0x54feb7
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov byte [esp + 0x2b], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.0048bcd0
add esp, 0xfc
ret
mov ecx, dword [esp + 0x10c]
test ecx, ecx
jne 0x54fe58
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], eax
mov byte [esp + 0x2b], 1
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.0048bc40
mov byte [esp + 0x2b], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.0048bcd0
add esp, 0xfc
ret
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov byte [esp + 0x2b], 1
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.0048bc40
mov byte [esp + 0x2b], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.0048bcd0
add esp, 0xfc
ret
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x90]
cmp ebx, edx
jge 0x54fdef
mov dword [esp + 0x50], ebx
mov eax, dword [ecx + ebx*4]
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.0054f290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x54fe9d
mov ebp, dword [esp + 0x10c]
lea esi, [ebp + 1]
mov eax, ecx
mov ecx, dword [esp + 0x108]
mov edi, ebx
mov ebx, dword [esp + 0x110]
cmp ebx, esi
jae 0x54ff6e
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x88], eax
lea eax, [0x604740]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004476d0
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x110], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x4c]
lea ebx, [ebp + 1]
mov dword [esp + 0x10c], ebx
lea ebx, [ebp + ebp*2]
mov dword [ecx + ebx*4 + 4], edx
mov dword [ecx + ebx*4 + 8], edi
mov edx, dword [0x816df0]
lea edi, [ecx + ebx*4]
test edx, edx
jne 0x54ff99
mov dword [ecx + ebx*4], eax
jmp 0x54fe9d
call fcn.0045e5d0
jmp 0x54fe9d
mov ebx, 0x100000
call fcn.0045e6e0
xor eax, eax
mov ecx, esi
call fcn.0045e650
xor eax, eax
mov ecx, ebx
call fcn.0045e650
xor eax, eax
mov ecx, edx
call fcn.0045e650
xor eax, eax
call fcn.0045e650
nop
call fcn.00432460
add esp, 0xfc
ret
call fcn.0045d190
jmp fcn.0054f6b0