Function at 0x4afb48
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x14], eax
xor edx, edx
mov dword [0x775950], edx
mov dword [0x775954], edx
mov dword [0x77595c], edx
mov dword [0xa3b478], 0xf8
mov eax, dword [ebp + 0x10]
test byte [eax + 0x144], 0x40
je 0x4afb85
xor eax, eax
jmp 0x4b0682
mov dword [0x775958], 0x47
mov edx, dword [0x6fb308]
test edx, edx
je 0x4afd67
mov ecx, dword [ebp + 0x18]
test byte [ecx + 5], 0x80
je 0x4afd67
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
test edx, edx
je 0x4afd67
mov ecx, dword [0x775950]
mov eax, dword [0x775954]
sub ecx, eax
mov edx, dword [0x775958]
add ecx, edx
add ecx, 0x2a
mov eax, dword [0xa3b478]
cmp ecx, eax
jle 0x4afbe0
mov dl, 1
jmp 0x4afbe2
xor edx, edx
test dl, dl
je 0x4afbeb
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x41
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x41
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0xe
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 2
inc dword [0x775950]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x46]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x47]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], cl
inc dword [0x775950]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
mov al, byte [ecx + 0x48]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], al
inc dword [0x775950]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x49]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x4b]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], cl
inc dword [0x775950]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
mov al, byte [ecx + 0x4c]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], al
inc dword [0x775950]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x4d]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x4e]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], cl
inc dword [0x775950]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
movsx eax, word [ecx + 0x38]
sar eax, 8
and al, 0xff
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], al
inc dword [0x775950]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x38]
and dl, 0xff
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
test byte [ebp + 0x1c], 0x10
je 0x4afdf3
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x53
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 0x50
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 7
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 1
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 0xbe
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0xef
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 0x52
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x52
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 5
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
mov ecx, dword [0x775950]
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 0
inc dword [0x775950]
push 0x775968
push dword [ebp + 0xc]
call fcn.0066cdbc
add esp, 8
test eax, eax
je 0x4affd9
push 0x77596a
push dword [ebp + 0xc]
call fcn.0066cdbc
add esp, 8
test eax, eax
je 0x4affd9
push dword [ebp + 0xc]
call fcn.0066ce38
pop ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4affd9
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [0x775958]
add eax, edx
mov ecx, dword [0x775950]
mov edx, dword [0x775954]
sub ecx, edx
add eax, ecx
add eax, 0x1c
mov ecx, dword [0xa3b478]
cmp eax, ecx
jle 0x4aff05
mov eax, dword [0xa3b478]
mov edx, dword [0x775958]
sub eax, edx
add eax, 0xffffffe4
mov ecx, dword [0x775950]
mov edx, dword [0x775954]
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp eax, 0xf8
jle 0x4aff16
mov dword [ebp - 0x18], 0xf8
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x4e
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x4d
inc dword [0x775950]
mov dl, byte [ebp - 0x18]
add dl, 5
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 1
inc dword [0x775950]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
je 0x4aff73
mov al, 1
jmp 0x4aff75
xor eax, eax
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], al
inc dword [0x775950]
or dword [ebp - 8], 8
push dword [ebp - 0x18]
push dword [ebp - 0x10]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004afa00
add esp, 0xc
mov edx, dword [ebp - 0x18]
add dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x18]
add dword [0x775950], ecx
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x4affce
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x4affce
call fcn.004afa3c
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4afeac
mov edx, dword [0x775950]
mov ecx, dword [0x775954]
sub edx, ecx
mov eax, dword [0x775958]
add edx, eax
add edx, 0x40
mov ecx, dword [0xa3b478]
cmp edx, ecx
jle 0x4affff
mov dl, 1
jmp 0x4b0001
xor edx, edx
test dl, dl
je 0x4b000a
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x50
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x58
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x24
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
or dword [ebp - 8], 1
mov ecx, dword [ebp + 0x18]
movsx eax, word [ecx + 4]
push eax
mov edx, 0xa37074
mov ecx, dword [0x775950]
add edx, ecx
push edx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
mov eax, dword [ebp + 0x18]
movsx edx, word [eax + 6]
push edx
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
mov edx, dword [ebp + 0x18]
push dword [edx + 8]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
mov edx, dword [ebp + 0x18]
push dword [edx + 0xc]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
mov edx, dword [0x775950]
mov ecx, dword [0x775954]
sub edx, ecx
mov eax, dword [0x775958]
add edx, eax
add edx, 0x36
mov ecx, dword [0xa3b478]
cmp edx, ecx
jle 0x4b010b
mov dl, 1
jmp 0x4b010d
xor edx, edx
test dl, dl
je 0x4b0116
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x54
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x46
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x1a
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0xe
inc dword [0x775950]
or dword [ebp - 8], 0x80
mov eax, dword [0x6fb364]
test eax, eax
je 0x4b01ed
push dword [0x900414]
mov edx, 0xa37074
mov ecx, dword [0x775950]
add edx, ecx
push edx
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
push dword [0x900414]
mov eax, 0xa37074
mov edx, dword [0x775950]
add eax, edx
push eax
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
push dword [0x900414]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
jmp 0x4b0253
mov edx, dword [ebp + 0x18]
push dword [edx + 0x1c]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
mov edx, dword [ebp + 0x18]
push dword [edx + 0x18]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
mov edx, dword [ebp + 0x18]
push dword [edx + 0x20]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.0045071c
add esp, 8
add dword [0x775950], 7
test byte [ebp + 0x1c], 1
je 0x4b02d8
mov edx, dword [0x775950]
mov ecx, dword [0x775954]
sub edx, ecx
mov eax, dword [0x775958]
add edx, eax
add edx, 0x20
mov ecx, dword [0xa3b478]
cmp edx, ecx
jle 0x4b027f
mov dl, 1
jmp 0x4b0281
xor edx, edx
test dl, dl
je 0x4b028a
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x52
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x45
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 4
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
or dword [ebp - 8], 0x40
test byte [ebp + 0x1c], 2
je 0x4b037e
mov ecx, dword [0x775950]
mov eax, dword [0x775954]
sub ecx, eax
mov edx, dword [0x775958]
add ecx, edx
add ecx, 0x28
mov eax, dword [0xa3b478]
cmp ecx, eax
jle 0x4b0307
mov dl, 1
jmp 0x4b0309
xor edx, edx
test dl, dl
je 0x4b0312
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x50
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x4c
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0xc
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
push 0
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
or dword [ebp - 8], 0x20
test byte [ebp + 0x1c], 4
je 0x4b0425
mov edx, dword [0x775950]
mov ecx, dword [0x775954]
sub edx, ecx
mov eax, dword [0x775958]
add edx, eax
add edx, 0x28
mov ecx, dword [0xa3b478]
cmp edx, ecx
jle 0x4b03ae
mov dl, 1
jmp 0x4b03b0
xor edx, edx
test dl, dl
je 0x4b03b9
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x43
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x4c
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0xc
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
push 0
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
or dword [ebp - 8], 0x10
mov edx, dword [0x6ebccc]
test edx, edx
je 0x4b05d9
mov ecx, dword [ebp + 0x18]
test byte [ecx + 5], 0x80
je 0x4b05d9
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 1
push 0x10
push 0
lea edx, [ebp - 0x3c]
push edx
call fcn.0066cc88
add esp, 0xc
push 0x77596d
push dword [ebp + 8]
call fcn.0066f334
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4b04d9
push dword [ebp - 0x1c]
push 0x10
push 1
lea eax, [ebp - 0x3c]
push eax
call fcn.0066f614
add esp, 0x10
cmp eax, 0x10
je 0x4b0493
xor edx, edx
mov dword [ebp - 0x24], edx
push 8
push 0x775960
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0066cf64
add esp, 0xc
test eax, eax
je 0x4b04b1
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x4b04ce
lea edx, [ebp - 0x34]
push edx
call fcn.00439450
pop ecx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov cl, byte [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
xor eax, eax
mov al, byte [ebp - 0x2f]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x1c]
call fcn.0066ee38
pop ecx
jmp 0x4b04e6
xor edx, edx
mov dword [ebp - 0x24], edx
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4b05d9
mov edx, dword [0x775950]
mov eax, dword [0x775954]
sub edx, eax
mov ecx, dword [0x775958]
add edx, ecx
add edx, 0x2c
mov eax, dword [0xa3b478]
cmp edx, eax
jle 0x4b0516
mov dl, 1
jmp 0x4b0518
xor edx, edx
test dl, dl
je 0x4b0521
call fcn.004afa3c
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x5a
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x46
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x10
inc dword [0x775950]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], 1
inc dword [0x775950]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], 0x70
inc dword [0x775950]
mov eax, dword [0x775950]
mov byte [eax + 0xa37074], 0x7a
inc dword [0x775950]
mov dl, byte [ebp - 0x2c]
mov ecx, dword [0x775950]
mov byte [ecx + 0xa37074], dl
inc dword [0x775950]
mov al, byte [ebp - 0x28]
mov edx, dword [0x775950]
mov byte [edx + 0xa37074], al
inc dword [0x775950]
push dword [ebp - 0x20]
mov ecx, 0xa37074
mov eax, dword [0x775950]
add ecx, eax
push ecx
call fcn.004393fc
add esp, 8
add dword [0x775950], 8
test byte [ebp + 0x1c], 8
je 0x4b05e4
call fcn.004afa3c
mov dl, byte [ebp - 8]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xa37074], dl
mov eax, dword [0x775954]
test eax, eax
je 0x4b061e
mov edx, dword [0x775950]
mov ecx, dword [0x775954]
sub edx, ecx
push edx
mov eax, 0xa3706c
mov edx, dword [0x775954]
add eax, edx
push eax
call fcn.004393fc
add esp, 8
push dword [0x775950]
call fcn.00450918
pop ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x14c], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [0x775950]
mov dword [eax + 0x154], edx
mov ecx, dword [0x77595c]
test ecx, ecx
je 0x4b0653
mov eax, dword [0x77595c]
jmp 0x4b0658
mov eax, dword [0x775950]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x150], eax
push dword [0x775950]
push 0xa37074
mov ecx, dword [ebp + 0x10]
push dword [ecx + 0x14c]
call fcn.0066cc18
add esp, 0xc
mov eax, dword [0x775950]
mov esp, ebp
pop ebp
ret