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

Disassembly:
mov eax, 0x54a52b
call fcn.0054565c
sub esp, 0xec
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x64
ja 0x4f5b71
xor al, 0x74
pop es
inc esi
into
fstp xword [eax + 0x44]
js 0x4f59be
sub al, 0xfe
pushfd
jbe 0x4f5978
stosd dword es:[edi], eax
xchg edx, eax
shl dword [ecx + ebp + 0x1f], cl
pop esp
je 0x4f59b9
mov eax, dword [0x453a9b48]
pop edi
invalid
xchg ebp, eax
mov ah, 0xdf
mov eax, 0xd9738e50
xchg edi, eax
std
lcall 0xf02f, 0x5f80740
arpl word [esi + 0x14d5644d], dx
inc eax
pop es
clc
add eax, 0x9663f02f
dec ebp
aad 0x14
invalid
xchg esp, eax
mov ds, word [esi + 0x9456a22]
jb 0x4f59dc
loope 0x4f59ae
dec esi
sub edx, edi
neg dword [edi + 0x44]
ljmp 0xfe7a
pushal
jp 0x4f59dd
invalid
cld
mov esp, 0x1a0b2232
mov ebp, 0xa7974fd1
sub bh, byte [ebx + ebp]
sbb edi, dword [edi + 0x67]
jbe 0x4f597d
cmp edx, dword [edi - 0x62]
in eax, dx
lodsb al, byte [esi]
xchg ebp, eax
fdiv qword [ebx + 0x31e74e1a]
add byte [edi + 0x37473472], bh
popal
mov dword [0xb3d1f28c], eax
sub ebx, 0xf19059a0
das
add eax, 0x8d66fdc2
loopne 0x4f59de
stc
fadd dword [bx + 0x1cea]
popal
xor dl, byte [eax - 7]
loop 0x4f59cc
push esi
or byte [eax - 0x28c079b3], dl
test dword [eax - 0xa], 0x9fa5e6fc
add byte [ebx], ah
push ecx
mov cl, 0xc7
adc eax, 0x517ae5e9
push ecx
jns 0x4f59e6
sub dword [ebx - 0x514a3ebf], esi
mov ecx, 0xd2e0ed65
dec eax
imul edx
jg 0x4f5a76
bnd jle 0x4f5ac8
outsd dx, dword [esi]
fnstcw word [edx - 0x4b55bed3]
xor edx, dword [eax + ecx*8 - 0x614b64aa]
insb byte es:[edi], dx
iretd
cmp al, 0x36
cmpsd dword [esi], dword es:[edi]
push 0x4d
into
mov ecx, 0x15df23e1
add esp, dword [si]
rol edi, 1
pop edi
fisttp dword [ebx + edi - 0x7df5cea8]
cmp ebx, 0xa6e6331e
int 0x51
dec ebp
jno 0x4f5a3e
pop ds
mov ebx, 0x3a369ad9
push ebp
jnp 0x4f5a6b
fiadd dword [esp + eax*4 + 0x77]
mul byte [esp + ecx*4]
stosd dword es:[edi], eax
mov eax, 0xdf20b304
cmp al, 0x45
inc eax
pop ebx
loope 0x4f5b29
mov esp, dword [ecx - 0x26]
mov bl, 0xd0
das
frstor dword [ebp - 0x562bc4be]
mov edx, 0x7fec0b88
salc
xchg ecx, eax
dec esp
les edx, [esi]
loop 0x4f5b2f
jb 0x4f5ae5
ret 0x2807
test al, 0x6c
test byte [eax - 0x6a341392], al
mov dh, 0xca
pop eax
ret 0xe8f8
pop edi
and eax, 0xb48bb875
add dword [eax - 0x57a8efee], esi
je 0x4f5b36
hlt
retf 0xfec2
scasb al, byte es:[edi]
cmp esi, esi
push ebp
imul eax, edi, 0x8e5b884e
dec esi
mov byte [ebx - 0x72], bl
arpl word [ecx + 0x55], cx
sub byte [eax], bh
and dword [ebx + ecx*4], ecx
mov ecx, 0x44df76d7
out 0x77, eax
lea ebp, [eax + 0x30]
mov ebp, 0xe9eded99
xor dword [esi], edx
out dx, eax
xchg byte [edi], bl
call 0x72643614
and eax, 0xedb1bfda
das
imul byte [esi - 0x38deafb4]
jnp 0x4f5afd
stc
pop esp
movsd dword es:[edi], dword [esi]
mov byte [0xca03ca8f], al
nop
popfd
inc esi
adc cl, al
add dword [ebx - 0x2417e7b5], ecx
inc ecx
add byte [eax], al
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov esi, edx
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], esi
cmp eax, 2
jne 0x4f5ba6
cmp esi, ecx
jne 0x4f5ba6
push ecx
mov ecx, ebx
call fcn.004f8783
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov dword [ebp - 0x14], eax
mov esi, edx
mov dword [ebp - 0x24], edx
xor ecx, ecx
push 4
pop edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x3c], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
mov edi, dword [ebp + 8]
mov dword [ebp - 4], ecx
cmp eax, 3
jne 0x4f5c1d
cmp esi, ecx
jne 0x4f5c1d
lea eax, [ebp - 0x3c]
push eax
lea esi, [edi + 0x150]
push esi
push dword [edi + 0x144]
mov ecx, ebx
push dword [edi + 0x140]
call fcn.004f630f
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4f5bf7
mov esi, eax
jmp 0x4f5d6e
mov eax, dword [edi + 0x140]
add dword [esi], eax
mov eax, dword [edi + 0x144]
adc dword [esi + 4], eax
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov esi, edx
push 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], esi
xor ecx, ecx
pop edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], 8
mov dword [ebp - 0x78], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x8c], vtable.CRecordVector_bool_.0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x64], vtable.CRecordVector_unsigned_int_.0
mov byte [ebp - 4], 3
cmp eax, edx
jne 0x4f5cc5
cmp esi, ecx
jne 0x4f5cc5
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [edi + 0x50]
push eax
lea eax, [edi + 0x3c]
push eax
lea eax, [edi + 0x28]
push eax
lea eax, [edi + 0x14]
push eax
push edi
lea esi, [edi + 0x148]
push esi
lea eax, [ebp - 0x3c]
push eax
mov ecx, ebx
call fcn.004f70df
mov eax, dword [edi + 0x140]
add dword [esi], eax
mov eax, dword [edi + 0x144]
adc dword [esi + 4], eax
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov dword [ebp - 0x14], eax
mov esi, edx
jmp 0x4f5d1d
cmp dword [edi + 0x44], 0
mov dword [ebp - 0x10], ecx
jle 0x4f5d1d
lea eax, [edi + 0x50]
mov ebx, ecx
push 1
mov ecx, eax
call fcn.0040f33a
mov eax, dword [edi + 0x48]
mov esi, dword [eax + ebx*4]
mov ecx, esi
call fcn.004129b3
push edx
push eax
lea ecx, [ebp - 0x78]
call fcn.00410cfc
movzx eax, byte [esi + 0x54]
push eax
lea ecx, [ebp - 0x8c]
call fcn.00412b2a
push dword [esi + 0x50]
lea ecx, [ebp - 0x64]
call fcn.0040f33a
inc ebx
lea eax, [edi + 0x50]
cmp ebx, dword [edi + 0x44]
jl 0x4f5cd3
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
lea ecx, [edi + 0x64]
push dword [ecx + 8]
mov eax, dword [ecx]
push 0
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov eax, ecx
or eax, esi
jne 0x4f5d81
mov byte [ebp - 4], 2
mov esi, vtable.CBaseRecordVector.0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], esi
call fcn.004e5c24
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], esi
call fcn.004e5c24
xor ebx, ebx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], esi
call fcn.004e5c24
mov esi, ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00412cd3
mov eax, esi
jmp 0x4f62cd
cmp ecx, 5
jne 0x4f61fd
test esi, esi
jne 0x4f61fd
mov ecx, dword [ebx + 0x18]
call fcn.004f9b29
lea esi, [edi + 0x64]
push eax
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.004e62e1
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4f5df1
mov edi, eax
lea ecx, [ebp - 0xb8]
call fcn.0040eb91
mov dword [ebp - 0xac], 1
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00412b9a
mov byte [ebp - 4], 3
push dword [ebp - 0xb8]
call fcn.00418a9a
pop ecx
dec edi
jne 0x4f5db1
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x18]
push 0
lea esi, [edi + 0x158]
push 9
mov ecx, esi
call fcn.00410cfc
xor eax, eax
cmp dword [edi + 8], eax
je 0x4f5e15
push eax
push 6
mov ecx, esi
call fcn.00410cfc
xor eax, eax
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x4f5e30
cmp dword [ebp - 0x5c], 0
je 0x4f5e30
push eax
push 0xa
lea ecx, [edi + 0x158]
call fcn.00410cfc
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x50], vtable.CRecordVector_bool_.0
mov edx, esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.004fb6fe
xor eax, eax
xor ecx, ecx
inc ecx
mov edx, vtable.CRecordVector_bool_.0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa0], edx
mov byte [ebp - 4], 7
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x20], eax
call fcn.004f9d54
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], edx
mov esi, vtable.CBaseRecordVector.0
je 0x4f6188
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x18], eax
ja case.0x4f5f02.22
mov eax, dword [ebp - 0x24]
jb 0x4f5ef6
cmp eax, 0x40000000
ja case.0x4f5f02.22
add eax, 0xfffffff2
cmp eax, 0xb
ja case.0x4f5f02.22
jmp dword [eax*4 + 0x4f62df]
xor eax, eax
mov byte [ebp - 0xe0], al
lea eax, [ebp - 0x3c]
push eax
push ebx
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004fa8e7
xor eax, eax
cmp dword [edi + 0x6c], eax
jle 0x4f5f4b
mov esi, eax
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 0x18]
mov eax, dword [eax + esi*4]
add eax, 0x10
push eax
call fcn.004f941a
inc esi
cmp esi, dword [edi + 0x6c]
jl 0x4f5f2e
mov esi, vtable.CBaseRecordVector.0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 7
call fcn.004fae20
jmp 0x4f60be
xor eax, eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xbc], vtable.CRecordVector_bool_.0
lea eax, [ebp - 0xbc]
push eax
mov byte [ebp - 4], 9
push dword [edi + 0x6c]
mov ecx, ebx
call fcn.004f6c10
xor eax, eax
mov byte [ebp - 0xe8], al
lea eax, [ebp - 0x3c]
push eax
push ebx
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xa
call fcn.004fa8e7
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x1c], eax
jbe 0x4f6004
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xa8], edx
mov al, byte [eax + ecx]
mov byte [edx + 0x1f], al
test al, al
je 0x4f5ff7
mov ecx, dword [ebx + 0x18]
call fcn.004f98fd
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, esi
jb 0x4f5fc7
mov esi, vtable.CBaseRecordVector.0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 9
call fcn.004fae20
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], esi
call fcn.004e5c24
jmp 0x4f60be
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.004f6e70
xor eax, eax
cmp dword [ebp - 0x48], eax
jbe 0x4f605b
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x20]
cmp byte [ecx + eax], 0
je 0x4f604f
inc edi
inc eax
cmp eax, dword [ebp - 0x48]
jb 0x4f6048
mov dword [ebp - 0x20], edi
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0xdc]
call fcn.004fb6fe
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0xa0]
call fcn.004fb6fe
jmp 0x4f60be
lea eax, [ebp - 0xdc]
push eax
push dword [ebp - 0x20]
mov ecx, ebx
call fcn.004f6e70
jmp 0x4f60be
lea eax, [ebp - 0xa0]
jmp 0x4f607f
lea eax, [edi + 0xf0]
jmp 0x4f60af
lea eax, [edi + 0x78]
jmp 0x4f60af
lea eax, [edi + 0xa0]
jmp 0x4f60af
lea eax, [edi + 0xc8]
push dword [ebp - 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004f696a
push dword [ebp - 0x18]
lea ecx, [edi + 0x158]
push dword [ebp - 0x24]
call fcn.00410cfc
jmp 0x4f613a
xor eax, eax
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
cmp edx, eax
jb 0x4f613d
ja 0x4f60eb
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
jbe 0x4f6140
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebx + 0x18]
call fcn.004fa6bd
test al, al
jne 0x4f61fd
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp ecx, edx
jb 0x4f60fd
mov ecx, dword [ebp - 0x14]
ja 0x4f6140
cmp eax, ecx
jb 0x4f60fd
jmp 0x4f6140
push edx
push dword [ebp - 0x14]
call fcn.004fa235
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
cmp byte [edi + 0x130], 0
ja 0x4f6152
cmp byte [edi + 0x131], 2
jbe 0x4f6170
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0xa4]
cmp eax, ecx
jne 0x4f61fd
xor eax, eax
cmp eax, edx
jne 0x4f61fd
mov ecx, dword [ebx + 0x18]
call fcn.004f9d54
mov ecx, edx
mov dword [ebp - 0x24], eax
or eax, ecx
mov dword [ebp - 0x18], ecx
jne 0x4f5ec1
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov ebx, eax
mov edx, eax
mov dword [ebp + 8], eax
cmp dword [ebp - 0x20], eax
jbe 0x4f61b0
mov esi, dword [ebp - 0x94]
cmp byte [esi + eax], cl
je 0x4f61a7
inc edx
inc eax
cmp eax, dword [ebp - 0x20]
jb 0x4f61a1
mov dword [ebp + 8], edx
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x1c], eax
jbe 0x4f624d
mov eax, dword [edi + 0x70]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x44]
cmp byte [eax + esi], 0
sete al
mov byte [edx + 0x1c], al
test al, al
je 0x4f6202
xor eax, eax
mov byte [edx + 0x1d], al
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 0x10], al
mov eax, dword [ecx + ebx*8]
mov dword [edx], eax
mov eax, dword [ecx + ebx*8 + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + ebx*4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x80]
mov al, byte [eax + ebx]
inc ebx
jmp 0x4f6229
call fcn.004fb072
mov eax, dword [ebp - 0xd0]
cmp byte [eax + ecx], 0
sete al
mov byte [edx + 0x1d], al
mov eax, dword [ebp - 0x94]
mov al, byte [eax + ecx]
inc ecx
mov byte [ebp - 0x10], al
xor eax, eax
mov dword [ebp - 0x18], ecx
mov dword [edx], eax
mov dword [edx + 4], eax
cmp dword [ebp + 8], 0
mov byte [edx + 0x1e], al
je 0x4f6240
push dword [ebp - 0x10]
lea ecx, [edi + 0x118]
call fcn.00412b2a
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, dword [ebp - 0x1c]
jb 0x4f61bd
mov byte [ebp - 4], 6
mov ebx, vtable.CBaseRecordVector.0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], ebx
call fcn.004e5c24
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], ebx
call fcn.004e5c24
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
call fcn.004e5c24
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], ebx
call fcn.004e5c24
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
call fcn.004e5c24
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], ebx
call fcn.004e5c24
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00412cd3
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4