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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d5cf8
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x70c0f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x504], 0
jne 0x5af791
jmp 0x5b00c4
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x508], 0
jne 0x5af7a2
jmp 0x5b00c4
mov edx, dword [ebp - 0x5c]
add edx, 0x5b8
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x5c]
call fcn.005af3c0
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x84]
push ecx
mov ecx, dword [ebp - 0x5c]
add ecx, 0x51c
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x51c]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
mov edx, dword [ebp - 0x60]
mov al, byte [edx + 0x5e]
mov byte [ecx + 0xf8], al
mov ecx, dword [ebp - 0x60]
mov dx, word [ecx + 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
mov word [ecx + 0xf6], dx
mov edx, dword [ebp - 0x60]
mov ax, word [edx + 0x62]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x504]
mov word [edx + 0xf4], ax
mov eax, dword [ebp - 0x60]
mov cx, word [eax + 0x64]
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x504]
mov word [eax + 0xf2], cx
mov ecx, dword [ebp - 0x60]
mov dx, word [ecx + 0x66]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
mov word [ecx + 0xf0], dx
mov edx, dword [ebp - 0x60]
add edx, 0x74
push edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
add ecx, 0x11c
call fcn.00553b70
lea ecx, [ebp - 0xe8]
call fcn.00457fa0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x5c]
mov dl, byte [ecx + 0x658]
mov byte [ebp - 0xdc], dl
mov eax, dword [ebp - 0x60]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x12c
call fcn.004589d0
mov edx, dword [ebp - 0x60]
mov eax, dword [edx]
push eax
call fcn.005b0120
add esp, 4
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jge 0x5af8d2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.00458010
jmp 0x5b00c4
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x38
call fcn.004483e0
add eax, 0x64
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x80]
mov ecx, 7
mov esi, dword [edx*8 + 0x6c637c]
mov edi, dword [ebp - 0x98]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 4]
mov dword [ecx + 0xe0], eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x88
call fcn.004476b0
movzx ecx, al
test ecx, ecx
jne 0x5af939
mov dword [ebp - 0x84], 1
jmp 0x5af943
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x508]
mov cl, byte [ebp - 0x84]
mov byte [eax + 0x34], cl
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x508]
movzx ecx, byte [eax + 0x34]
test ecx, ecx
je 0x5af981
mov edx, dword [ebp - 0x60]
add edx, 0x88
push edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x508]
add ecx, 0x28
call fcn.00553b70
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x28
call fcn.00448890
mov byte [ebp - 0x61], 0
cmp dword [ebp - 0x7c], 0
je 0x5af9af
push 0x6c8a20
mov ecx, dword [ebp - 0x7c]
add ecx, 0xc
call fcn.0044b890
mov byte [ebp - 0x61], al
mov edx, dword [ebp - 0x60]
add edx, 0x44
push edx
movzx eax, byte [ebp - 0x61]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x500
call fcn.005bebd0
mov byte [ebp - 0x6a], al
movzx ecx, byte [ebp - 0x6a]
test ecx, ecx
jne 0x5af9da
mov byte [ebp - 0x69], 1
jmp 0x5af9de
mov byte [ebp - 0x69], 0
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ecx + 0x95]
push edx
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax + 0x94]
push ecx
mov edx, dword [ebp - 0x60]
add edx, 0x50
push edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 9]
push eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ecx + 0x10]
push eax
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ecx + 8]
push edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x3c]
push eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x38]
push edx
mov eax, dword [ebp - 0x60]
add eax, 0x2c
push eax
movzx ecx, byte [ebp - 0x69]
push ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0x28]
push eax
movzx ecx, byte [ebp - 0x61]
push ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x504]
add eax, 0x28
push eax
call fcn.00549ae0
add esp, 0x44
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0x60]
mov cl, byte [eax + 0x5d]
mov byte [edx + 0xb4], cl
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x504]
mov ecx, dword [ebp - 0x60]
mov dl, byte [ecx + 0x5f]
mov byte [eax + 0x128], dl
mov eax, dword [ebp - 0x60]
add eax, 0x44
push eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x504]
add edx, 0x28
push edx
mov ecx, dword [ebp - 0x5c]
add ecx, 0x500
call fcn.005bed20
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax + 0x5c]
test ecx, ecx
je 0x5afacf
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x504]
mov byte [eax + 0xa4], 1
lea ecx, [ebp - 0x134]
call fcn.004534a0
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ecx + 0x504]
add edi, 8
mov ecx, 8
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x504]
mov byte [eax], 1
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x84]
mov dword [edx + 8], ecx
cmp dword [ebp - 0x68], 0xffffffff
jle 0x5afbac
push 0x6c8a24
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x78
call fcn.00553ad0
push 0x6c8a2c
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
add ecx, 0x6c
call fcn.00553ad0
cmp dword [ebp - 0x68], 0
jne 0x5afb67
push 0x6c89d8
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x110
call fcn.00553ad0
jmp 0x5afba7
cmp dword [ebp - 0x68], 1
jne 0x5afb88
push 0x6c89e8
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x110
call fcn.00553ad0
jmp 0x5afba7
cmp dword [ebp - 0x68], 2
jne 0x5afba7
push 0x6c89f8
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
add ecx, 0x110
call fcn.00553ad0
jmp 0x5afc41
cmp dword [ebp - 0x7c], 0
je 0x5afbfe
lea ecx, [ebp - 0x108]
push ecx
mov ecx, dword [ebp - 0x7c]
call fcn.00455c90
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xa0], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x78
call fcn.00553b70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x108]
call fcn.00447680
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx + 0x5c]
test eax, eax
je 0x5afc23
mov ecx, dword [0x6c6374]
push ecx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x6c
call fcn.00552c70
jmp 0x5afc41
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
add ecx, 0x78
push ecx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x6c
call fcn.00553b70
cmp dword [ebp - 0x68], 0xffffffff
jle 0x5afe0b
lea ecx, [ebp - 0xcc]
call fcn.00553c20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.00553c20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call fcn.00553c20
mov byte [ebp - 4], 4
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x60]
add edx, 0x68
push edx
call fcn.00555850
add esp, 0xc
lea ecx, [ebp - 0xb4]
call fcn.0044b1b0
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0xffffffff
jle 0x5afcd0
mov eax, dword [ebp - 0x88]
add eax, 1
push eax
lea ecx, [ebp - 0xb4]
call fcn.00447750
push eax
lea ecx, [ebp - 0x94]
call fcn.00553ad0
cmp dword [ebp - 0x68], 0
jne 0x5afd2a
push 0x6c8a08
lea ecx, [ebp - 0x94]
push ecx
call fcn.004478c0
add esp, 8
movzx edx, al
test edx, edx
je 0x5afd2a
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00445fd0
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x94]
call fcn.00445fd0
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
sub edx, 1
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00447890
cmp dword [ebp - 0x68], 1
jne 0x5afd84
push 0x6c8b2c
lea ecx, [ebp - 0x94]
push ecx
call fcn.004478c0
add esp, 8
movzx edx, al
test edx, edx
je 0x5afd84
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00445fd0
mov dword [ebp - 0x74], eax
lea ecx, [ebp - 0x94]
call fcn.00445fd0
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
sub edx, 1
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00447890
cmp dword [ebp - 0x68], 2
jne 0x5afdde
push 0x6c8b34
lea ecx, [ebp - 0x94]
push ecx
call fcn.004478c0
add esp, 8
movzx edx, al
test edx, edx
je 0x5afdde
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00445fd0
mov dword [ebp - 0x78], eax
lea ecx, [ebp - 0x94]
call fcn.00445fd0
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
sub edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00447890
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call fcn.00447680
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.00447680
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call fcn.00447680
push 0
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
push ecx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x48
call fcn.00533bf0
push 0x6c8b3c
lea ecx, [ebp - 0x28]
call fcn.00446660
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
add ecx, 0x54
call fcn.00447710
push eax
lea ecx, [ebp - 0x58]
call fcn.00446660
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0x60
call fcn.00447710
push eax
lea ecx, [ebp - 0x40]
call fcn.00446660
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x6c
call fcn.00447710
push eax
lea ecx, [ebp - 0x28]
call fcn.0044c0b0
push 0x6c8b40
lea eax, [ebp - 0x28]
push eax
call fcn.00453f30
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x5afebe
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0x78
call fcn.00447710
push eax
lea ecx, [ebp - 0x28]
call fcn.0044c0b0
cmp dword [ebp - 0x68], 0xffffffff
jle 0x5aff01
cmp dword [ebp - 0x68], 0
jne 0x5afed9
push 0x6c8b0c
lea ecx, [ebp - 0x28]
call fcn.004465f0
jmp 0x5aff01
cmp dword [ebp - 0x68], 1
jne 0x5afeee
push 0x6c8b14
lea ecx, [ebp - 0x28]
call fcn.004465f0
jmp 0x5aff01
cmp dword [ebp - 0x68], 2
jne 0x5aff01
push 0x6c8b20
lea ecx, [ebp - 0x28]
call fcn.004465f0
push 0x6c8b28
lea ecx, [ebp - 0x40]
call fcn.004465f0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.0044c090
lea ecx, [ebp - 0x40]
call fcn.004465b0
push eax
lea ecx, [ebp - 0x58]
call fcn.004465b0
push eax
call fcn.0045d300
mov ecx, eax
call fcn.00516eb0
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x98]
mov dword [edx + 0x10c], ecx
mov edx, dword [ebp - 0x60]
cmp dword [edx + 0x98], 2
jne 0x5aff6c
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x504]
mov byte [ecx + 0xf9], 1
lea ecx, [ebp - 0xfc]
call fcn.00459c70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xfc]
call fcn.00538070
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0xd4
call fcn.00447720
cmp dword [ebp - 0xfc], 1
je 0x5b007f
lea ecx, [ebp - 0xc0]
call fcn.00553c20
mov byte [ebp - 4], 9
lea eax, [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x68
call fcn.00447710
push eax
call fcn.005584f0
add esp, 8
lea ecx, [ebp - 0xd8]
call fcn.00553c20
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x114]
push ecx
call fcn.00537d50
add esp, 0x10
mov dword [ebp - 0xa4], eax
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x504]
add ecx, 0xd4
call fcn.00553b70
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x114]
call fcn.00447680
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x504]
add ecx, 0xd4
call fcn.00447710
push eax
call fcn.00557b60
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd8]
call fcn.00447680
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc0]
call fcn.00447680
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xfc]
call fcn.00449f40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.00446610
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.00446610
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00446610
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.00458010
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00495c0c
mov esp, ebp
pop ebp
ret