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

Disassembly:
push 0xffffffffffffffff
push 0x528910
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x178]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x168], 2
je 0x4a4e9e
mov ecx, dword [esp + 0x17c]
sub ecx, eax
sar ecx, 2
je 0x4a4e9e
mov edx, dword [esp + 0x188]
cmp edx, ebp
je 0x4a4e9e
mov eax, dword [esp + 0x18c]
sub eax, edx
sar eax, 2
je 0x4a4e9e
cmp ecx, eax
je 0x4a4601
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.004f5980
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x4a45ae
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a4598
mov esi, dword [esp + 0x178]
push esi
call fcn.00514140
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x4a4f33
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a45ed
jmp 0x4a4f2c
mov byte [0x55747c], 1
lea ecx, [esp + 0x50]
call fcn.004fed30
push ecx
lea eax, [esp + 0x174]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x170], 3
call fcn.004f5850
mov ecx, dword [0x5540bc]
call fcn.004fee60
mov byte [esp + 0x44], 0
mov ecx, dword [esp + 0x178]
cmp ecx, ebp
jne 0x4a464c
xor eax, eax
jmp 0x4a4658
mov eax, dword [esp + 0x17c]
sub eax, ecx
sar eax, 2
mov ecx, dword [esp + 0x44]
and ecx, 0xff
cmp ecx, eax
jae 0x4a4691
push ecx
lea ecx, [esp + 0x178]
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004f5850
mov ecx, dword [0x5540bc]
call fcn.004fefa0
inc byte [esp + 0x44]
jmp 0x4a463d
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [0x5540bc]
call fcn.004ff310
test al, al
je 0x4a4cbd
mov dl, byte [esp + 0x12]
xor bl, bl
xor edi, edi
mov byte [esp + 0x4c], bl
mov byte [esp + 0x24], dl
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebp
mov al, byte [esp + 0x12]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x14], al
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov byte [esp + 0x168], 5
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
cmp ecx, ebp
jne 0x4a46f7
xor eax, eax
jmp 0x4a46fe
mov eax, edx
sub eax, ecx
sar eax, 2
mov esi, dword [esp + 0x4c]
and esi, 0xff
cmp esi, eax
jae 0x4a475d
xor cx, cx
mov cl, bl
push ecx
lea ecx, [esp + 0x54]
call fcn.004ff490
test al, al
je 0x4a4751
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0x2c]
lea eax, [edx + esi*4]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.0048c8b0
mov edx, dword [esp + 0x188]
mov ecx, dword [esp + 0x1c]
lea eax, [edx + esi*4]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0048c8b0
mov edi, dword [esp + 0x2c]
inc bl
mov byte [esp + 0x4c], bl
jmp 0x4a46e1
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x4a4773
sub edi, eax
test edi, 0xfffffffc
jne 0x4a49c0
cmp ecx, ebp
jne 0x4a477b
xor esi, esi
jmp 0x4a4782
sub edx, ecx
sar edx, 2
mov esi, edx
lea ecx, [esp + 0x24]
call fcn.00509f60
cmp esi, eax
ja 0x4a47d7
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
push edx
push eax
push ecx
call fcn.00420130
mov edx, dword [esp + 0x38]
add esp, 0xc
lea ecx, [esp + 0x24]
push edx
push eax
call fcn.0041ff50
lea ecx, [esp + 0x174]
call fcn.00509f60
mov ecx, dword [esp + 0x28]
lea edx, [ecx + eax*4]
mov dword [esp + 0x2c], edx
jmp 0x4a4898
lea ecx, [esp + 0x24]
call fcn.0041ff30
lea ecx, [esp + 0x174]
mov esi, eax
call fcn.00509f60
cmp eax, esi
ja 0x4a4834
mov esi, dword [esp + 0x178]
lea ecx, [esp + 0x24]
call fcn.00509f60
mov ecx, dword [esp + 0x178]
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x28]
push eax
push esi
push ecx
call fcn.00420130
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x188]
add esp, 0xc
lea ecx, [esp + 0x24]
push edx
push eax
push esi
call fcn.0041ff80
jmp 0x4a47bb
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.0041ff50
mov edx, dword [esp + 0x28]
push edx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x174]
call fcn.00509f60
cmp eax, ebp
jge 0x4a4866
xor eax, eax
shl eax, 2
push eax
call fcn.00514a8b
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
add esp, 4
mov dword [esp + 0x28], eax
push eax
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.0041ff80
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x14]
call fcn.00509f60
lea ecx, [esp + 0x184]
mov esi, eax
call fcn.00509f60
cmp eax, esi
ja 0x4a48fb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
push eax
push ecx
push edx
call fcn.00420130
mov ecx, dword [esp + 0x28]
add esp, 0xc
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.0041ff50
lea ecx, [esp + 0x184]
call fcn.00509f60
mov edx, dword [esp + 0x18]
lea eax, [edx + eax*4]
mov dword [esp + 0x1c], eax
jmp 0x4a49c0
lea ecx, [esp + 0x14]
call fcn.0041ff30
lea ecx, [esp + 0x184]
mov esi, eax
call fcn.00509f60
cmp eax, esi
ja 0x4a4958
mov esi, dword [esp + 0x188]
lea ecx, [esp + 0x14]
call fcn.00509f60
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x188]
lea esi, [esi + eax*4]
push ecx
push esi
push edx
call fcn.00420130
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x198]
add esp, 0xc
push eax
push ecx
push esi
lea ecx, [esp + 0x20]
call fcn.0041ff80
jmp 0x4a48df
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.0041ff50
mov eax, dword [esp + 0x18]
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x184]
call fcn.00509f60
cmp eax, ebp
jge 0x4a498a
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.00514a8b
mov edx, dword [esp + 0x190]
add esp, 4
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18c]
push edx
push eax
call fcn.0041ff80
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ecx, dword [0x548548]
xor eax, eax
mov dword [esp + 0x60], ecx
mov ecx, 0x3e
lea edi, [esp + 0x64]
push ebp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x3c]
stosb byte es:[edi], al
call fcn.004f5870
push ecx
mov byte [esp + 0x16c], 6
mov ecx, esp
mov dword [esp + 0x38], esp
push ebp
call fcn.004f5870
mov ecx, 0x557510
call fcn.004f5b70
xor bl, bl
mov byte [esp + 0x12], bl
mov byte [esp + 0x13], bl
jmp 0x4a4a11
xor ebp, ebp
push ebp
lea edx, [esp + 0x4d]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
push 0x554048
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x6e]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
push 0x554048
mov byte [esp + 0x194], 7
call fcn.00401030
mov ecx, dword [0x5540b0]
mov byte [esp + 0x18c], 6
call fcn.004fe1e0
mov byte [esp + 0x40], 0
mov ecx, dword [esp + 0x28]
cmp ecx, ebp
jne 0x4a4a6e
xor eax, eax
jmp 0x4a4a77
mov eax, dword [esp + 0x2c]
sub eax, ecx
sar eax, 2
mov ebp, dword [esp + 0x40]
and ebp, 0xff
cmp ebp, eax
jae 0x4a4c36
mov edi, 0x548548
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x60]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x5c]
lea edx, [ecx + ebp*4]
mov ecx, esi
push edx
call fcn.004a3b00
mov eax, dword [esp + 0x18]
push 0x557510
lea ecx, [eax + ebp*4]
call fcn.004f5c20
test al, al
je 0x4a4ae5
mov al, byte [esp + 0x40]
test al, al
je 0x4a4ae5
mov bl, byte [esp + 0x12]
jmp 0x4a4b5f
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x3c]
mov byte [esp + 0x16c], 8
push ecx
push ebp
lea ecx, [esp + 0x20]
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x174], 6
call fcn.004a3b90
test ax, ax
jg 0x4a4b39
mov al, byte [esp + 0x13]
mov bl, 1
inc al
mov byte [esp + 0x13], al
jmp 0x4a4b3e
mov byte [esp + 0x13], 0
push ebp
lea ecx, [esp + 0x18]
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004f5850
mov ecx, 0x557510
call fcn.004f5b70
test bl, bl
lea edx, [esp + 0x60]
jne 0x4a4ba1
push edx
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.004f5850
push 5
push ebp
lea ecx, [esp + 0x34]
mov byte [esp + 0x178], 6
call fcn.0041fe70
mov ecx, eax
call fcn.004f5b60
push eax
call dword [esp + 0x1a0]
add esp, 0xc
jmp 0x4a4bc3
mov edi, 0x548aa8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [esp + 0x13], 0x14
ja 0x4a4d7a
push 0
push 0xffff
sub esp, 0x10
lea edx, [esp + 0x63]
mov ecx, esp
mov dword [esp + 0x54], esp
lea eax, [esp + 0x78]
push edx
push eax
call fcn.00401030
push ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x184], 0xa
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
call fcn.004f5850
mov ecx, dword [0x5540b0]
mov byte [esp + 0x184], 6
call fcn.004fe5d0
mov al, byte [esp + 0x40]
mov byte [esp + 0x12], bl
xor bl, bl
inc al
mov byte [esp + 0x40], al
xor ebp, ebp
jmp 0x4a4a62
mov ecx, dword [0x5540b0]
push 0
call fcn.004feac0
cmp ax, 0xb
jne 0x4a4a0f
lea ecx, [esp + 0x38]
mov byte [esp + 0x168], 5
call fcn.004f5980
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x170], 4
call fcn.0041ff50
mov eax, dword [esp + 0x18]
push eax
call fcn.00514140
xor eax, eax
add esp, 4
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x168], 3
call fcn.004011a0
lea ecx, [esp + 0x50]
mov byte [esp + 0x168], 2
call fcn.004f5980
xor ebp, ebp
jmp 0x4a4608
lea ecx, [esp + 0x50]
mov byte [0x55747c], 0
mov byte [esp + 0x168], 2
call fcn.004f5980
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.004f5980
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x4a4d19
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a4d03
mov esi, dword [esp + 0x178]
push esi
call fcn.00514140
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x4a4d6a
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a4d54
mov esi, dword [esp + 0x188]
push esi
call fcn.00514140
add esp, 4
mov al, 1
jmp 0x4a4f3e
lea ecx, [esp + 0x38]
mov byte [0x55747c], 0
mov byte [esp + 0x168], 5
call fcn.004f5980
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x170], 4
call fcn.0041ff50
mov eax, dword [esp + 0x18]
push eax
call fcn.00514140
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
add esp, 4
xor esi, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
push ecx
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], esi
mov byte [esp + 0x170], 3
call fcn.0041ff50
mov eax, dword [esp + 0x28]
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x168], 2
call fcn.004f5980
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.004f5980
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
push ecx
push edx
lea ecx, [esp + 0x17c]
mov byte [esp + 0x170], 0
call fcn.0041ff50
mov eax, dword [esp + 0x178]
push eax
call fcn.00514140
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
add esp, 4
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], esi
push ecx
push edx
lea ecx, [esp + 0x18c]
mov dword [esp + 0x170], 0xffffffff
call fcn.0041ff50
mov eax, dword [esp + 0x188]
push eax
jmp 0x4a4f34
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.004f5980
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x4a4ee2
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a4ecc
mov esi, dword [esp + 0x178]
push esi
call fcn.00514140
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x4a4f33
push ebp
mov ecx, esi
call fcn.00420170
add esi, 4
cmp esi, edi
jne 0x4a4f1d
mov esi, dword [esp + 0x188]
push esi
call fcn.00514140
add esp, 4
xor al, al
mov ecx, dword [esp + 0x160]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x15c
ret 0x28