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

Disassembly:
push 0xffffffffffffffff
push 0x4f2f40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x20]
call fcn.004be1a0
xor esi, esi
lea ecx, [esp + 0x10]
mov dword [esp + 0x64], esi
call fcn.004be1a0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004c7200
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004c7e90
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 3
call fcn.004be1a0
mov byte [esp + 0x64], 4
mov bl, 1
call fcn.004ccc40
test al, al
je 0x4a3e8d
mov edi, dword [esp + 0x70]
push 1
push 0x50f8dc
mov ecx, edi
call fcn.004be880
mov esi, 0x28
push 1
push 0x50f8e4
mov ecx, edi
call fcn.004be880
dec esi
jne 0x4a3e77
jmp 0x4a436a
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.004be1b0
lea ecx, [esp + 0x18]
call fcn.004be4d0
push ecx
mov ecx, esp
mov dword [esp + 0x70], esp
push esi
call fcn.004be1d0
mov ecx, dword [esp + 0x74]
call fcn.004be4d0
mov al, byte [esp + 0x74]
test al, al
je 0x4a3ed1
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.004a3cc0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
call fcn.004be1b0
lea ecx, [esp + 0x24]
call fcn.004be4d0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x28]
push eax
mov word [esp + 0x28], 0xff
call fcn.004c75d0
mov word [0x520054], si
mov ebp, 0xfe
lea ecx, [esp + 0x38]
call fcn.004c8490
sub esp, 0x24
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x98], esp
push 0
push edx
push ecx
mov ecx, 0x520070
call fcn.004c5540
lea ecx, [esp + 0x5c]
call fcn.004c8040
lea ecx, [esp + 0x38]
call fcn.004c8470
test ax, ax
jle 0x4a40d1
push 0
lea ecx, [esp + 0x3c]
call fcn.004c83b0
mov ecx, eax
call fcn.004776a0
dec eax
lea ecx, [esp + 0x38]
push eax
push 0
call fcn.004c83b0
mov ecx, eax
call fcn.00413d50
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.004be1b0
lea ecx, [esp + 0x14]
call fcn.004be4d0
lea ecx, [esp + 0x10]
call fcn.004be660
test ax, ax
jle 0x4a40d1
push 4
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x7f
jne 0x4a3fe0
inc word [0x520054]
push 6
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x78
je 0x4a3fd0
push 6
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x21
jne 0x4a402a
inc esi
mov word [esp + 0x24], bp
cmp si, 0x32
jl 0x4a3f0c
cmp si, 0x32
je 0x4a40d1
push 3
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x10
push 4
lea ecx, [esp + 0x18]
jne 0x4a40a1
call fcn.004be4c0
mov bl, al
push 5
and ebx, 0xff
lea ecx, [esp + 0x14]
add ebx, 0x40
call fcn.004be4c0
and eax, 0xff
cmp eax, ebx
jmp 0x4a40cf
push 6
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x12
je 0x4a40d1
push 6
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x31
jne 0x4a4050
xor bl, bl
jmp 0x4a3fe0
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 3
call fcn.004be2e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004c7f90
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004c7220
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 0
call fcn.004be2e0
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 0xffffffff
call fcn.004be2e0
xor ax, ax
jmp 0x4a43b7
call fcn.004be4c0
mov dl, al
push 4
and edx, 0xff
lea ecx, [esp + 0x14]
add edx, 0x40
mov dword [esp + 0x78], edx
call fcn.004be4c0
mov ecx, dword [esp + 0x74]
and eax, 0xff
cmp eax, ecx
je 0x4a4123
test bl, bl
je 0x4a4123
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 3
call fcn.004be2e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004c7f90
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004c7220
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 0
call fcn.004be2e0
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 0xffffffff
call fcn.004be2e0
or ax, 0xffff
jmp 0x4a43b7
push 3
lea ecx, [esp + 0x14]
call fcn.004be4c0
cmp al, 0x10
je 0x4a4171
lea ecx, [esp + 0x10]
mov esi, 3
call fcn.004be660
cmp ax, si
jle 0x4a436a
push esi
lea ecx, [esp + 0x14]
call fcn.004be4c0
mov ecx, dword [esp + 0x70]
push eax
call fcn.004be640
lea ecx, [esp + 0x10]
inc esi
call fcn.004be660
cmp si, ax
jl 0x4a4149
jmp 0x4a436a
lea ecx, [esp + 0x10]
mov esi, 4
call fcn.004be660
cmp ax, si
jle 0x4a41a7
push esi
lea ecx, [esp + 0x14]
call fcn.004be4c0
mov ecx, dword [esp + 0x70]
push eax
call fcn.004be640
lea ecx, [esp + 0x10]
inc esi
call fcn.004be660
cmp si, ax
jl 0x4a4184
push 0xb
push 0x512ba4
lea ecx, [esp + 0x20]
call fcn.004be240
xor edx, edx
lea ecx, [esp + 0x18]
mov dl, byte [edi + 0x2a]
mov byte [esp + 0x64], 5
mov al, byte [edx*2 + 0x512708]
push eax
push 2
call fcn.004be5e0
xor esi, esi
mov cl, byte [0x512704]
lea edx, [esi + 6]
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.004be5e0
inc esi
cmp si, 5
jl 0x4a41d6
lea ecx, [esp + 0x28]
call fcn.004c77e0
lea ecx, [esp + 0x38]
call fcn.004c8490
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.004be1b0
lea ecx, [esp + 0x24]
call fcn.004be4d0
lea ecx, [esp + 0x20]
mov word [esp + 0x24], bp
push ecx
lea ecx, [esp + 0x2c]
call fcn.004c75d0
mov bl, 1
lea ecx, [esp + 0x38]
call fcn.004c8490
test bl, bl
je 0x4a4261
sub esp, 0x24
lea eax, [esp + 0x4c]
mov edx, esp
mov dword [esp + 0x98], esp
push 0
push eax
push edx
mov ecx, 0x520070
xor bl, bl
call fcn.004c5540
jmp 0x4a427a
sub esp, 0x24
mov ecx, esp
mov dword [esp + 0x98], esp
push 0
push ecx
mov ecx, 0x520070
call fcn.004c6190
lea ecx, [esp + 0x5c]
call fcn.004c8040
lea ecx, [esp + 0x38]
call fcn.004c8470
test ax, ax
jle 0x4a435c
push 0
lea ecx, [esp + 0x3c]
call fcn.004c83b0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4a4232
mov edx, dword [eax + 8]
sub edx, ecx
sar edx, 2
je 0x4a4232
push 0
lea ecx, [esp + 0x3c]
call fcn.004c83b0
mov ecx, dword [eax + 4]
call fcn.004be660
cmp ax, 3
jle 0x4a4232
xor ebp, ebp
push 0
lea ecx, [esp + 0x3c]
call fcn.004c83b0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4a42e6
xor eax, eax
jmp 0x4a42ee
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
movsx edi, bp
cmp edi, eax
jae 0x4a4232
push 0
lea ecx, [esp + 0x3c]
mov esi, 4
call fcn.004c83b0
mov eax, dword [eax + 4]
lea ecx, [eax + edi*4]
call fcn.004be660
cmp ax, si
jle 0x4a4356
push 0
lea ecx, [esp + 0x3c]
call fcn.004c83b0
mov eax, dword [eax + 4]
push esi
lea ecx, [eax + edi*4]
call fcn.004be4c0
mov ecx, dword [esp + 0x70]
push eax
call fcn.004be640
push 0
lea ecx, [esp + 0x3c]
inc esi
call fcn.004c83b0
mov eax, dword [eax + 4]
lea ecx, [eax + edi*4]
call fcn.004be660
cmp si, ax
jl 0x4a4319
inc ebp
jmp 0x4a42d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x64], 4
call fcn.004be2e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 3
call fcn.004be2e0
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004c7f90
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004c7220
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 0
call fcn.004be2e0
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 0xffffffff
call fcn.004be2e0
mov ax, 1
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret 0xc