Function at 0x4c9a5a
Capabilities:
Parse pe header

Disassembly:
push 0x10
mov eax, 0x5623a9
call fcn.005035f5
mov ebx, ecx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
lea ecx, [ebx + 0x74]
push eax
call fcn.004c96bd
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebx + 0x78]
je 0x4c9af5
mov edi, dword [eax + 0xc]
mov eax, dword [edi]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call dword [0x57044c]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x18]
lea esi, [ebp + 0xc]
and dword [ebp - 4], 0
lea ecx, [ebx + 0x68]
lea edi, [edi + 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 1
push eax
call fcn.004c88b3
cmp dword [ebp - 0x14], 0
je 0x4c9ad3
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.0046018f
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x4ca444
mov eax, dword [esi]
push 1
mov edi, dword [eax]
mov ecx, edi
call dword [0x57044c]
mov ecx, esi
call edi
jmp 0x4ca444
mov eax, dword [ebp + 8]
movsx eax, al
cmp eax, 0x59
jg 0x4c9fad
je 0x4c9f86
cmp eax, 0x46
jg 0x4c9dda
je 0x4c9db3
push 0x40
pop edi
cmp eax, edi
jg 0x4c9c96
je 0x4c9c6f
sub eax, 0x21
je 0x4c9c48
dec eax
sub eax, 1
je 0x4c9c21
sub eax, 1
je 0x4c9bfe
sub eax, 1
je 0x4c9baa
sub eax, 6
jne case.0x4c9fb9.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004ccc2d
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4c9b93
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4ca260
push 1
call fcn.004d0220
jmp 0x4ca260
lea eax, [ebp - 0xd]
mov byte [ebp - 0xd], 0x25
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004ccb46
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x4c
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4c9bed
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca444
push 0x14
jmp 0x4ca00b
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004ccbd8
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x41
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc74a
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x48
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x49
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc6a0
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x4a
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x4b
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc7f4
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x42
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x43
jmp 0x4c9fe2
sub eax, 0x41
je 0x4c9d5a
sub eax, 1
je 0x4c9d36
sub eax, 1
je 0x4c9ce6
sub eax, 1
je case.0x4c9fb9.120
sub eax, 1
jne case.0x4c9fb9.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb4b8
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x31
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb364
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4c9d25
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca260
push 0x10
jmp 0x4ca256
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb2ba
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x15
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb210
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4c9d99
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca260
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.0046018f
jmp 0x4ca260
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb562
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x2e
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x2f
jmp 0x4c9fe2
cmp eax, 0x50
jg 0x4c9ef9
je 0x4c9ed2
sub eax, 0x48
je 0x4c9eab
sub eax, 1
je 0x4c9e84
sub eax, 3
je 0x4c9e5d
sub eax, 1
je 0x4c9e36
dec eax
sub eax, 1
jne case.0x4c9fb9.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbe04
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x54
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x55
jmp 0x4ca300
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb760
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x26
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x27
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc54c
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 8
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 9
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb6b6
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x25
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb60c
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x23
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc34e
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x3c
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x3d
jmp 0x4c9fe2
sub eax, 0x52
je 0x4c9f5f
sub eax, 1
je 0x4c9f38
sub eax, 1
je 0x4c9f11
sub eax, 4
jne case.0x4c9fb9.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb95e
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x38
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x39
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb8b4
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x28
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x29
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb80a
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x36
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x37
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cba08
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x1b
jmp 0x4c9d08
sub eax, 0x5e
cmp eax, 0x1c
ja case.0x4c9fb9.95
jmp dword [eax*4 + 0x4ca44e]
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc1fa
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 4
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 5
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4c9fff
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca444
push 0x10
push dword [ebp - 0x14]
call fcn.00503276
pop ecx
pop ecx
jmp 0x4ca444
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc0a6
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 6
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 7
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc89e
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0xb
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc9ab
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0xd
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbab2
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0xf
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbb5c
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x13
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbc06
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x17
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb40e
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x1d
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc150
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x1f
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbcb0
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x21
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbd5a
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x2a
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x2b
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbffc
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x2c
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x2d
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc2a4
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x32
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x33
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc3f8
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x34
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x35
jmp 0x4c9d08
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cca55
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x3a
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4ca24e
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca260
push 0x20
push dword [ebp - 0x14]
call fcn.00503276
pop ecx
pop ecx
mov byte [ebx + 0x38], 1
jmp 0x4ca444
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004ccb83
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x3e
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x3f
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc4a2
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x44
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x45
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc5f6
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x46
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x47
jmp 0x4c9fe2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbe43
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x4e
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0x68]
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4ca31d
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4ca444
push 0x18
jmp 0x4ca00b
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbec1
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x50
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x51
jmp 0x4ca300
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbe82
pop ecx
pop ecx
mov edx, dword [eax]
and dword [eax], 0
mov dword [ebp - 4], 0x52
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 0x53
jmp 0x4ca300
lea eax, [ebp - 0x14]
push eax
call fcn.004ccb15
pop ecx
cmp byte [ebp + 0x14], 0
lea edi, [ebx + 0x68]
mov dword [ebp - 4], 0x56
jne 0x4ca3b8
mov edi, dword [ebp - 0x14]
push 0x25
lea ecx, [edi + 0x10]
call fcn.0049fbd2
push dword [ebp + 8]
lea ecx, [edi + 0x10]
call fcn.0049fbd2
and dword [ebp - 0x14], 0
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x57
lea ecx, [ebx + 0x68]
jmp 0x4ca422
lea eax, [ebp + 0xc]
xor ebx, ebx
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp + 0x14], bl
push eax
call fcn.004cc6a0
pop ecx
pop ecx
mov ecx, dword [eax]
mov dword [eax], ebx
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x59
push eax
mov ecx, edi
call fcn.004c88b3
cmp dword [ebp - 0x18], ebx
je 0x4ca3f2
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x56
je 0x4ca408
push 0x10
push dword [ebp - 0x1c]
call fcn.00503276
pop ecx
pop ecx
mov esi, dword [ebp - 0x14]
push dword [ebp + 8]
lea ecx, [esi + 0x10]
call fcn.0049fbd2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x5a
mov ecx, edi
lea eax, [ebp - 0x18]
push eax
call fcn.004c88b3
cmp dword [ebp - 0x18], 0
je 0x4ca43c
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
lea ecx, [ebp - 0x14]
call fcn.004ceb40
call fcn.005035c3
ret 0x10