Function at 0x46ab44
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x672965
call fcn.00629210
sub esp, 0x50
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push 0x2d
mov al, byte [ebx]
xor esi, esi
pop edx
mov dword [ebp - 0x10], esi
cmp al, dl
jne 0x46b0fa
mov cl, byte [ebx + 6]
cmp cl, dl
je 0x46ab79
cmp byte [ebx + 7], dl
jne 0x46b0fa
movzx edx, byte [ebx + 1]
movzx edi, byte [ebx + 2]
mov eax, edx
shl eax, 8
add eax, edi
cmp eax, 0x4c57
ja 0x46ae01
je 0x46adf7
cmp eax, 0x4253
ja 0x46accc
je 0x46acc2
mov esi, 0x4242
cmp eax, esi
ja 0x46ac17
je 0x46ac0d
sub eax, 0x4147
je 0x46abdb
sub eax, 0xb
je 0x46ac03
sub eax, 4
je 0x46abf9
dec eax
sub eax, 1
je 0x46abef
dec eax
sub eax, 1
je 0x46abe5
sub eax, 0x24
jne 0x46b02c
mov esi, 0x69c3f4
jmp 0x46b06e
mov esi, 0x69c430
jmp 0x46b06e
mov esi, 0x69c420
jmp 0x46b06e
mov esi, 0x69c410
jmp 0x46b06e
mov esi, 0x69c400
jmp 0x46b06e
mov esi, 0x69c440
jmp 0x46b06e
sub eax, 0x4243
je 0x46acb8
dec eax
sub eax, 1
je 0x46acae
sub eax, 1
je 0x46aca4
sub eax, 1
je 0x46ac9a
sub eax, 8
je 0x46ac4e
sub eax, 3
jne 0x46b02c
mov esi, 0x69c4f8
jmp 0x46b06e
mov dl, byte [ebx + 4]
cmp dl, 0x41
jne 0x46ac78
cmp byte [ebx + 5], 0x30
jne 0x46ac78
movzx eax, cl
sub eax, 0x3d
push eax
push 0x69c4a0
push dword [ebp + 8]
call fcn.004607f4
add esp, 0xc
jmp 0x46b42f
movzx eax, cl
push eax
movzx eax, byte [ebx + 5]
push eax
movzx eax, dl
push eax
push 0x69c4cc
push dword [ebp + 8]
call fcn.004607f4
add esp, 0x14
jmp 0x46b42f
mov esi, 0x69c498
jmp 0x46b06e
mov esi, 0x69c488
jmp 0x46b06e
mov esi, 0x69c468
jmp 0x46b06e
mov esi, 0x69c454
jmp 0x46b06e
mov esi, 0x69c50c
jmp 0x46b06e
mov ecx, 0x4654
cmp eax, ecx
ja 0x46ad92
je 0x46ad41
sub eax, 0x4258
je 0x46ad37
sub eax, 0xec
je 0x46ad2d
sub eax, 0x10
je 0x46ad23
sub eax, 0xf1
je 0x46ad19
sub eax, 0xfd
je 0x46ad0f
sub eax, 0x11
jne 0x46b02c
mov esi, str.video_mpeg
jmp 0x46b06e
mov esi, 0x69c590
jmp 0x46b06e
mov esi, 0x69c574
jmp 0x46b06e
mov esi, 0x69c560
jmp 0x46b06e
mov esi, 0x69c53c
jmp 0x46b06e
mov esi, 0x69c520
jmp 0x46b06e
push 9
pop edx
movzx ecx, byte [ebx + esi + 3]
mov word [ebp + esi*2 - 0x1c], cx
lea eax, [ecx - 0x30]
cmp ax, dx
ja 0x46ad5e
lea eax, [ecx - 0x30]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46ad44
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1c]
push eax
push 0x69c5bc
push 0x69c5d4
push dword [ebp + 8]
call fcn.004607f4
add esp, 0x1c
jmp 0x46b42f
sub eax, 0x4845
je 0x46aded
sub eax, 7
je 0x46ade3
dec eax
sub eax, 1
je 0x46add9
sub eax, 0x306
je 0x46adcf
sub eax, 0xfc
je 0x46adc5
sub eax, 4
jne 0x46b02c
mov esi, 0x69c644
jmp 0x46b06e
mov esi, 0x69c634
jmp 0x46b06e
mov esi, 0x69c620
jmp 0x46b06e
mov esi, 0x69c60c
jmp 0x46b06e
mov esi, 0x69c5fc
jmp 0x46b06e
mov esi, 0x69c5f0
jmp 0x46b06e
mov esi, 0x69c674
jmp 0x46b06e
mov ecx, 0x5453
cmp eax, ecx
ja 0x46aef5
je 0x46aeeb
mov ecx, 0x5344
cmp eax, ecx
ja 0x46ae89
je 0x46b069
sub eax, 0x4d50
je 0x46ae7f
dec eax
sub eax, 1
je 0x46ae75
dec eax
sub eax, 1
je 0x46ae6b
sub eax, 0x3f0
je 0x46ae61
sub eax, 0x10
je 0x46ae57
sub eax, 0x100
jne 0x46b02c
mov esi, 0x69c728
jmp 0x46b06e
mov esi, 0x69c6fc
jmp 0x46b06e
mov esi, 0x69c6e4
jmp 0x46b06e
mov esi, 0x69c6a8
jmp 0x46b06e
mov esi, 0x69c69c
jmp 0x46b06e
mov esi, 0x69c688
jmp 0x46b06e
sub eax, 0x5347
je 0x46aee1
sub eax, 0xc
je 0x46aed7
sub eax, 7
je 0x46aecd
sub eax, 0x24
je 0x46aec3
sub eax, 0xd0
je 0x46aeb9
sub eax, 4
jne 0x46b02c
mov esi, 0x69c7c4
jmp 0x46b06e
mov esi, str.filename
jmp 0x46b06e
mov esi, 0x69c76c
jmp 0x46b06e
mov esi, 0x69c794
jmp 0x46b06e
mov esi, str.https:__
jmp 0x46b06e
mov esi, 0x69c73c
jmp 0x46b06e
mov esi, 0x69c7e0
jmp 0x46b06e
mov ecx, 0x5759
cmp eax, ecx
ja 0x46b006
je 0x46afff
sub eax, 0x5454
je 0x46aff8
sub eax, 0xf1
je 0x46aff1
sub eax, 7
je 0x46afea
sub eax, 1
je 0x46afe0
sub eax, 7
je 0x46af4a
sub eax, 0xf3
jne 0x46b02c
mov esi, 0x69c8c0
jmp 0x46b06e
cmp dword [ebx + 0x10], 0x30504455
jne 0x46af65
push 0x69c85c
mov ecx, dword [ebp + 8]
call fcn.00424ff1
jmp 0x46b42f
movzx ecx, byte [ebx + 3]
mov esi, 0x68fcf4
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp + 0xc], esi
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, 0x313330
cmp ecx, eax
jb 0x46af9c
cmp byte [ebp + 0x10], 0
je 0x46af9c
mov esi, 0x69c880
jmp 0x46b06e
cmp ecx, 0x313332
jb 0x46afbc
push ebx
call fcn.0046b8b4
test al, al
jne 0x46b071
mov esi, 0x69c8a0
jmp 0x46b06e
cmp ecx, eax
jb 0x46b071
mov ax, word [ebx + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x46b071
jmp 0x46af92
mov esi, 0x69c840
jmp 0x46b06e
mov esi, str.File_failed_verification:__s
jmp 0x46b06e
mov esi, 0x69c808
jmp 0x46b06e
mov esi, 0x69c7fc
jmp 0x46b06e
mov esi, 0x69c8cc
jmp 0x46b06e
sub eax, 0x584c
je 0x46b069
sub eax, 8
je 0x46b062
sub eax, 4
je 0x46b05b
sub eax, 0x1fc
je 0x46b054
sub eax, 0x1220
je 0x46b04d
sub eax, 0x4ce
je 0x46b046
push edi
push edx
push 0x69c92c
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.0045fc27
add esp, 0x14
lea esi, [ebp - 0x5c]
jmp 0x46b06e
mov esi, 0x69c6cc
jmp 0x46b06e
mov esi, 0x69c65c
jmp 0x46b06e
mov esi, 0x69c914
jmp 0x46b06e
mov esi, 0x69c900
jmp 0x46b06e
mov esi, 0x69c8e8
jmp 0x46b06e
mov esi, str.d10:file_guard40:
mov dword [ebp + 0xc], esi
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
lea esi, [ebx + 3]
push 0xfffffffffffffffd
stosd dword es:[edi], eax
stosw word es:[edi], ax
pop eax
sub eax, ebx
lea edi, [ebp - 0x1c]
push 9
mov dword [ebp + 0x10], eax
pop ebx
movzx eax, byte [esi]
push eax
call fcn.00642591
pop ecx
test eax, eax
je 0x46b0d8
movzx ecx, byte [esi]
mov word [edi], cx
lea eax, [ecx - 0x30]
cmp ax, bx
ja 0x46b0ac
lea eax, [ecx - 0x30]
jmp 0x46b0c7
push 0x19
lea eax, [ecx - 0x41]
pop edx
cmp ax, dx
ja 0x46b0bc
lea eax, [ecx - 0x37]
jmp 0x46b0c7
lea eax, [ecx - 0x61]
cmp ax, dx
ja 0x46b0ca
lea eax, [ecx - 0x70]
mov word [edi], ax
mov eax, dword [ebp + 0x10]
inc esi
add eax, esi
add edi, 2
cmp eax, 4
jl 0x46b08b
movzx eax, word [ebp - 0x16]
mov esi, dword [ebp + 0xc]
push eax
movzx eax, word [ebp - 0x18]
push eax
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1c]
push eax
push esi
push 0x69c948
jmp 0x46ad82
mov ch, byte [ebx + 4]
cmp ch, dl
jne 0x46b1a2
cmp byte [ebx + 5], dl
jne 0x46b1a2
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x46b16d
sub eax, 0xe
je 0x46b166
sub eax, 3
je 0x46b15f
sub eax, 1
je 0x46b158
sub eax, 1
je 0x46b151
sub eax, 1
je 0x46b14a
push ecx
push str.Ignore_this_warning_if_you_switched_to_1.6.1_or_older_and_back
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.0045fc27
add esp, 0x10
lea ecx, [ebp - 0x5c]
jmp 0x46b172
mov ecx, 0x69c9cc
jmp 0x46b172
mov ecx, 0x69c9b4
jmp 0x46b172
mov ecx, 0x69c9a4
jmp 0x46b172
mov ecx, 0x69c994
jmp 0x46b172
mov ecx, 0x69c970
jmp 0x46b172
mov ecx, 0x69c968
movzx eax, byte [ebx + esi + 1]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46b172
xor eax, eax
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x1c]
push eax
push ecx
push 0x69c9f0
push dword [ebp + 8]
call fcn.004607f4
add esp, 0x10
jmp 0x46b42f
cmp al, 0x4d
jne 0x46b20a
mov cl, byte [ebx + 2]
cmp cl, dl
jne 0x46b20a
cmp ch, dl
jne 0x46b1d4
cmp byte [ebx + 6], dl
jne 0x46b1d4
cmp byte [ebx + 7], dl
jne 0x46b1d4
movzx eax, byte [ebx + 5]
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, byte [ebx + 1]
push eax
push 0x69c9fc
jmp 0x46ac8a
cmp cl, dl
jne 0x46b20a
cmp byte [ebx + 5], dl
jne 0x46b20a
cmp byte [ebx + 7], dl
jne 0x46b20a
movzx eax, byte [ebx + 6]
push eax
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, byte [ebx + 1]
push eax
push 0x69ca24
push dword [ebp + 8]
call fcn.004607f4
add esp, 0x18
jmp 0x46b42f
cmp al, 0x65
jne 0x46b256
cmp byte [ebx + 1], 0x78
jne 0x46b256
cmp byte [ebx + 2], 0x62
jne 0x46b256
cmp byte [ebx + 3], 0x63
jne 0x46b256
cmp byte [ebx + 6], 0x4c
jne 0x46b23d
cmp byte [ebx + 7], 0x4f
jne 0x46b23d
cmp byte [ebx + 8], 0x52
jne 0x46b23d
cmp byte [ebx + 9], 0x44
mov edx, 0x69ca50
je 0x46b242
mov edx, 0x69c454
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
push edx
push 0x69ca60
jmp 0x46ac8a
mov cl, byte [ebx + 2]
cmp cl, 0x42
jne 0x46b29c
cmp byte [ebx + 3], 0x53
jne 0x46b29c
cmp dword [ebx + 0x10], 0x30504455
jne 0x46b277
push 0x69ca74
jmp 0x46af58
cmp dword [ebx + 0xe], 0x50545448
jne 0x46b292
cmp word [ebx + 0x12], 0x5442
jne 0x46b292
push 0x69ca98
jmp 0x46af58
push 0x69cac0
jmp 0x46af58
mov dl, byte [ebx + 1]
cmp dl, 0x45
jne 0x46b2b9
cmp cl, 0x52
jne 0x46b2b9
cmp byte [ebx + 3], 0x53
jne 0x46b2b9
push 0x69cae4
jmp 0x46af58
cmp al, 0x41
jne 0x46b2ed
cmp dl, 0x5a
jne 0x46b2ed
cmp cl, 0x32
jne 0x46b2ed
cmp byte [ebx + 3], 0x35
jne 0x46b2ed
cmp ch, 0x30
jne 0x46b2ed
cmp byte [ebx + 5], ch
jne 0x46b2ed
cmp byte [ebx + 6], 0x42
jne 0x46b2ed
cmp byte [ebx + 7], 0x54
jne 0x46b2ed
push 0x69cb00
jmp 0x46af58
cmp al, 0x42
jne 0x46b30e
cmp dl, 0x4c
jne 0x46b30e
cmp cl, 0x5a
jne 0x46b30e
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
push 0x69cb14
jmp 0x46b192
cmp al, 0x4d
jne 0x46b340
cmp dl, 0x62
jne 0x46b340
cmp cl, 0x72
jne 0x46b340
cmp byte [ebx + 3], 0x73
jne 0x46b340
cmp ch, 0x74
jne 0x46b340
movzx eax, byte [ebx + 9]
push eax
movzx eax, byte [ebx + 7]
push eax
movzx eax, byte [ebx + 5]
push eax
push 0x69cb34
jmp 0x46ac8a
cmp al, 0x2d
jne 0x46b3a0
cmp dl, 0x46
jne 0x46b369
cmp cl, 0x47
jne 0x46b369
lea eax, [ebx + 3]
push eax
call fcn.00639b22
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push 0x69cb54
jmp 0x46ac8a
cmp dl, 0x47
jne 0x46b37d
cmp cl, 0x33
jne 0x46b37d
push 0x69cb74
jmp 0x46af58
cmp dl, 0x4d
jne 0x46b3a0
cmp cl, 0x4c
jne 0x46b3a0
movzx eax, byte [ebx + 7]
push eax
movzx eax, byte [ebx + 5]
push eax
movzx eax, byte [ebx + 3]
push eax
push 0x69cb8c
jmp 0x46ac8a
cmp al, 0x4f
jne 0x46b3c5
cmp dl, 0x50
jne 0x46b3c5
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, cl
push eax
push str.dtfun
jmp 0x46b1fa
cmp al, 0x4c
jne 0x46b3e3
cmp dl, 0x49
jne 0x46b3e3
cmp cl, 0x4d
jne 0x46b3e3
cmp byte [ebx + 3], 0x45
jne 0x46b3e3
push 0x69cbd0
jmp 0x46af58
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], esi
mov word [ebp - 0x34], ax
mov dword [ebp - 4], esi
mov edi, esi
mov al, byte [edi + ebx]
test al, al
je 0x46b404
movzx eax, al
jmp 0x46b407
push 0x20
pop eax
push eax
push 1
lea ecx, [ebp - 0x34]
call fcn.00434021
inc edi
cmp edi, 0x14
jl 0x46b3f8
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x34]
push eax
call fcn.004231e5
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.0042386b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc