Function at 0x4ca4c2
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 0x4ca55d
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 0x4ca53b
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.0046018f
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x4caeac
mov eax, dword [esi]
push 1
mov edi, dword [eax]
mov ecx, edi
call dword [0x57044c]
mov ecx, esi
call edi
jmp 0x4caeac
mov eax, dword [ebp + 8]
movsx eax, al
cmp eax, 0x59
jg 0x4caa15
je 0x4ca9ee
cmp eax, 0x46
jg 0x4ca842
je 0x4ca81b
push 0x40
pop edi
cmp eax, edi
jg 0x4ca6fe
je 0x4ca6d7
sub eax, 0x21
je 0x4ca6b0
dec eax
sub eax, 1
je 0x4ca689
sub eax, 1
je 0x4ca666
sub eax, 1
je 0x4ca612
sub eax, 6
jne case.0x4caa21.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 0x4ca5fb
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4cacc8
push 1
call fcn.004d0220
jmp 0x4cacc8
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 0x4ca655
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4caeac
push 0x14
jmp 0x4caa73
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc79f
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc6f5
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc849
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 0x4caa4a
sub eax, 0x41
je 0x4ca7c2
sub eax, 1
je 0x4ca79e
sub eax, 1
je 0x4ca74e
sub eax, 1
je case.0x4caa21.120
sub eax, 1
jne case.0x4caa21.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb50d
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb3b9
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 0x4ca78d
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4cacc8
push 0x10
jmp 0x4cacbe
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb30f
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb265
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 0x4ca801
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4cacc8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.0046018f
jmp 0x4cacc8
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb5b7
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 0x4caa4a
cmp eax, 0x50
jg 0x4ca961
je 0x4ca93a
sub eax, 0x48
je 0x4ca913
sub eax, 1
je 0x4ca8ec
sub eax, 3
je 0x4ca8c5
sub eax, 1
je 0x4ca89e
dec eax
sub eax, 1
jne case.0x4caa21.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbf00
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 0x4cad68
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb7b5
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc5a1
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb70b
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb661
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc3a3
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 0x4caa4a
sub eax, 0x52
je 0x4ca9c7
sub eax, 1
je 0x4ca9a0
sub eax, 1
je 0x4ca979
sub eax, 4
jne case.0x4caa21.95
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb9b3
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb909
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb85f
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cba5d
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 0x4ca770
sub eax, 0x5e
cmp eax, 0x1c
ja case.0x4caa21.95
jmp dword [eax*4 + 0x4caeb6]
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc24f
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 0x4caa67
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4caeac
push 0x10
push dword [ebp - 0x14]
call fcn.00503276
pop ecx
pop ecx
jmp 0x4caeac
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc0fb
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc8f3
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cca00
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbb07
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbbb1
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbc5b
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cb463
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc1a5
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbd05
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbdaf
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc051
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc2f9
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc44d
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 0x4ca770
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004ccab5
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 0x4cacb6
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4cacc8
push 0x20
push dword [ebp - 0x14]
call fcn.00503276
pop ecx
pop ecx
mov byte [ebx + 0x38], 1
jmp 0x4caeac
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc4f7
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cc64b
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 0x4caa4a
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbf3f
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 0x4cad85
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x14], 0
je 0x4caeac
push 0x18
jmp 0x4caa73
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbfbd
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 0x4cad68
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.004cbf7e
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 0x4cad68
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 0x4cae20
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 0x4cae8a
lea eax, [ebp + 0xc]
xor ebx, ebx
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp + 0x14], bl
push eax
call fcn.004cc6f5
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 0x4cae5a
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x56
je 0x4cae70
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 0x4caea4
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.0046018f
lea ecx, [ebp - 0x14]
call fcn.004ceb40
call fcn.005035c3
ret 0x10