Function at 0x4af860
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 [0x76c844], edx
mov dword [0x76c848], edx
mov dword [0x76c850], edx
mov dword [0xa2daa4], 0xf8
mov eax, dword [ebp + 0x10]
test byte [eax + 0x144], 0x40
je 0x4af89d
xor eax, eax
jmp 0x4b039a
mov dword [0x76c84c], 0x47
mov edx, dword [0x6f6acc]
test edx, edx
je 0x4afa7f
mov ecx, dword [ebp + 0x18]
test byte [ecx + 5], 0x80
je 0x4afa7f
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
test edx, edx
je 0x4afa7f
mov ecx, dword [0x76c844]
mov eax, dword [0x76c848]
sub ecx, eax
mov edx, dword [0x76c84c]
add ecx, edx
add ecx, 0x2a
mov eax, dword [0xa2daa4]
cmp ecx, eax
jle 0x4af8f8
mov dl, 1
jmp 0x4af8fa
xor edx, edx
test dl, dl
je 0x4af903
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x41
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x41
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0xe
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 2
inc dword [0x76c844]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x46]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x47]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], cl
inc dword [0x76c844]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
mov al, byte [ecx + 0x48]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], al
inc dword [0x76c844]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x49]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x4b]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], cl
inc dword [0x76c844]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
mov al, byte [ecx + 0x4c]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], al
inc dword [0x76c844]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x4d]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x160]
mov cl, byte [edx + 0x4e]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], cl
inc dword [0x76c844]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x160]
movsx eax, word [ecx + 0x38]
sar eax, 8
and al, 0xff
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], al
inc dword [0x76c844]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x160]
mov dl, byte [eax + 0x38]
and dl, 0xff
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
test byte [ebp + 0x1c], 0x10
je 0x4afb0b
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x53
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 0x50
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 7
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 1
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 0xbe
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0xef
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 0x52
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x52
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 5
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 0
inc dword [0x76c844]
push 0x76c85c
push dword [ebp + 0xc]
call fcn.0066c9a0
add esp, 8
test eax, eax
je 0x4afcf1
push 0x76c85e
push dword [ebp + 0xc]
call fcn.0066c9a0
add esp, 8
test eax, eax
je 0x4afcf1
push dword [ebp + 0xc]
call fcn.0066ca1c
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 0x4afcf1
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 [0x76c84c]
add eax, edx
mov ecx, dword [0x76c844]
mov edx, dword [0x76c848]
sub ecx, edx
add eax, ecx
add eax, 0x1c
mov ecx, dword [0xa2daa4]
cmp eax, ecx
jle 0x4afc1d
mov eax, dword [0xa2daa4]
mov edx, dword [0x76c84c]
sub eax, edx
add eax, 0xffffffe4
mov ecx, dword [0x76c844]
mov edx, dword [0x76c848]
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp eax, 0xf8
jle 0x4afc2e
mov dword [ebp - 0x18], 0xf8
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x4e
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x4d
inc dword [0x76c844]
mov dl, byte [ebp - 0x18]
add dl, 5
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 1
inc dword [0x76c844]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
je 0x4afc8b
mov al, 1
jmp 0x4afc8d
xor eax, eax
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], al
inc dword [0x76c844]
or dword [ebp - 8], 8
push dword [ebp - 0x18]
push dword [ebp - 0x10]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.004af718
add esp, 0xc
mov edx, dword [ebp - 0x18]
add dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x18]
add dword [0x76c844], ecx
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x4afce6
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x4afce6
call fcn.004af754
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4afbc4
mov edx, dword [0x76c844]
mov ecx, dword [0x76c848]
sub edx, ecx
mov eax, dword [0x76c84c]
add edx, eax
add edx, 0x40
mov ecx, dword [0xa2daa4]
cmp edx, ecx
jle 0x4afd17
mov dl, 1
jmp 0x4afd19
xor edx, edx
test dl, dl
je 0x4afd22
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x50
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x58
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x24
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
or dword [ebp - 8], 1
mov ecx, dword [ebp + 0x18]
movsx eax, word [ecx + 4]
push eax
mov edx, 0xa296a0
mov ecx, dword [0x76c844]
add edx, ecx
push edx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
mov eax, dword [ebp + 0x18]
movsx edx, word [eax + 6]
push edx
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
mov edx, dword [ebp + 0x18]
push dword [edx + 8]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
mov edx, dword [ebp + 0x18]
push dword [edx + 0xc]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
mov edx, dword [0x76c844]
mov ecx, dword [0x76c848]
sub edx, ecx
mov eax, dword [0x76c84c]
add edx, eax
add edx, 0x36
mov ecx, dword [0xa2daa4]
cmp edx, ecx
jle 0x4afe23
mov dl, 1
jmp 0x4afe25
xor edx, edx
test dl, dl
je 0x4afe2e
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x54
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x46
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x1a
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0xe
inc dword [0x76c844]
or dword [ebp - 8], 0x80
mov eax, dword [0x6f6b28]
test eax, eax
je 0x4aff05
push dword [0x8f2a40]
mov edx, 0xa296a0
mov ecx, dword [0x76c844]
add edx, ecx
push edx
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
push dword [0x8f2a40]
mov eax, 0xa296a0
mov edx, dword [0x76c844]
add eax, edx
push eax
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
push dword [0x8f2a40]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
jmp 0x4aff6b
mov edx, dword [ebp + 0x18]
push dword [edx + 0x1c]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
mov edx, dword [ebp + 0x18]
push dword [edx + 0x18]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
mov edx, dword [ebp + 0x18]
push dword [edx + 0x20]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.0045046c
add esp, 8
add dword [0x76c844], 7
test byte [ebp + 0x1c], 1
je 0x4afff0
mov edx, dword [0x76c844]
mov ecx, dword [0x76c848]
sub edx, ecx
mov eax, dword [0x76c84c]
add edx, eax
add edx, 0x20
mov ecx, dword [0xa2daa4]
cmp edx, ecx
jle 0x4aff97
mov dl, 1
jmp 0x4aff99
xor edx, edx
test dl, dl
je 0x4affa2
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x52
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x45
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 4
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
or dword [ebp - 8], 0x40
test byte [ebp + 0x1c], 2
je 0x4b0096
mov ecx, dword [0x76c844]
mov eax, dword [0x76c848]
sub ecx, eax
mov edx, dword [0x76c84c]
add ecx, edx
add ecx, 0x28
mov eax, dword [0xa2daa4]
cmp ecx, eax
jle 0x4b001f
mov dl, 1
jmp 0x4b0021
xor edx, edx
test dl, dl
je 0x4b002a
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x50
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x4c
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0xc
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
push 0
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
or dword [ebp - 8], 0x20
test byte [ebp + 0x1c], 4
je 0x4b013d
mov edx, dword [0x76c844]
mov ecx, dword [0x76c848]
sub edx, ecx
mov eax, dword [0x76c84c]
add edx, eax
add edx, 0x28
mov ecx, dword [0xa2daa4]
cmp edx, ecx
jle 0x4b00c6
mov dl, 1
jmp 0x4b00c8
xor edx, edx
test dl, dl
je 0x4b00d1
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x43
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x4c
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0xc
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
push 0
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
or dword [ebp - 8], 0x10
mov edx, dword [0x6e7404]
test edx, edx
je 0x4b02f1
mov ecx, dword [ebp + 0x18]
test byte [ecx + 5], 0x80
je 0x4b02f1
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.0066c86c
add esp, 0xc
push 0x76c861
push dword [ebp + 8]
call fcn.0066ef18
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4b01f1
push dword [ebp - 0x1c]
push 0x10
push 1
lea eax, [ebp - 0x3c]
push eax
call fcn.0066f1f8
add esp, 0x10
cmp eax, 0x10
je 0x4b01ab
xor edx, edx
mov dword [ebp - 0x24], edx
push 8
push 0x76c854
lea ecx, [ebp - 0x3c]
push ecx
call fcn.0066cb48
add esp, 0xc
test eax, eax
je 0x4b01c9
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x4b01e6
lea edx, [ebp - 0x34]
push edx
call fcn.004392d8
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.0066ea1c
pop ecx
jmp 0x4b01fe
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 0x4b02f1
mov edx, dword [0x76c844]
mov eax, dword [0x76c848]
sub edx, eax
mov ecx, dword [0x76c84c]
add edx, ecx
add edx, 0x2c
mov eax, dword [0xa2daa4]
cmp edx, eax
jle 0x4b022e
mov dl, 1
jmp 0x4b0230
xor edx, edx
test dl, dl
je 0x4b0239
call fcn.004af754
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x5a
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x46
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x10
inc dword [0x76c844]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], 1
inc dword [0x76c844]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], 0x70
inc dword [0x76c844]
mov eax, dword [0x76c844]
mov byte [eax + 0xa296a0], 0x7a
inc dword [0x76c844]
mov dl, byte [ebp - 0x2c]
mov ecx, dword [0x76c844]
mov byte [ecx + 0xa296a0], dl
inc dword [0x76c844]
mov al, byte [ebp - 0x28]
mov edx, dword [0x76c844]
mov byte [edx + 0xa296a0], al
inc dword [0x76c844]
push dword [ebp - 0x20]
mov ecx, 0xa296a0
mov eax, dword [0x76c844]
add ecx, eax
push ecx
call fcn.00439284
add esp, 8
add dword [0x76c844], 8
test byte [ebp + 0x1c], 8
je 0x4b02fc
call fcn.004af754
mov dl, byte [ebp - 8]
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xa296a0], dl
mov eax, dword [0x76c848]
test eax, eax
je 0x4b0336
mov edx, dword [0x76c844]
mov ecx, dword [0x76c848]
sub edx, ecx
push edx
mov eax, 0xa29698
mov edx, dword [0x76c848]
add eax, edx
push eax
call fcn.00439284
add esp, 8
push dword [0x76c844]
call fcn.00450668
pop ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x14c], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [0x76c844]
mov dword [eax + 0x154], edx
mov ecx, dword [0x76c850]
test ecx, ecx
je 0x4b036b
mov eax, dword [0x76c850]
jmp 0x4b0370
mov eax, dword [0x76c844]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x150], eax
push dword [0x76c844]
push 0xa296a0
mov ecx, dword [ebp + 0x10]
push dword [ecx + 0x14c]
call fcn.0066c7fc
add esp, 0xc
mov eax, dword [0x76c844]
mov esp, ebp
pop ebp
ret