Function at 0x10063a28
Capabilities:
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x56c
mov eax, dword [0x100c51b8]
xor eax, esp
mov dword [esp + 0x568], eax
lea eax, [esp + 0x464]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edi, 0x104
xor esi, esi
push edi
push esi
push dword [esp + 0x18]
call fcn.1008c000
add esp, 0xc
lea eax, [esp + 0x360]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
push edi
push esi
push dword [esp + 0x1c]
call fcn.1008c000
add esp, 0xc
lea eax, [esp + 0x25c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
push edi
push esi
push dword [esp + 0x20]
call fcn.1008c000
add esp, 0xc
lea eax, [esp + 0x60]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov dword [eax], esi
lea eax, [esp + 0x5c]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov dword [eax], esi
lea eax, [esp + 0x158]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
push edi
push esi
push dword [esp + 0x2c]
call fcn.1008c000
add esp, 0xc
lea eax, [esp + 0x58]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov dword [eax], esi
lea eax, [esp + 0x140]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x112]
mov byte [ebx - 2], 1
mov byte [ebx - 1], 0x3a
mov al, 0x44
mov byte [ebx], al
mov cl, 0x5b
mov byte [ebx + 1], cl
mov byte [ebx + 2], 0x53
mov dl, 0x46
mov byte [ebx + 3], dl
mov byte [ebx + 4], al
mov ah, 0x51
mov byte [ebx + 5], ah
mov ch, 0x43
mov byte [ebx + 6], ch
mov byte [ebx + 7], cl
mov byte [ebx + 8], ch
mov byte [ebx + 9], ah
mov byte [ebx + 0xa], 0x74
mov byte [ebx + 0xb], 0x79
mov cl, 0x69
mov byte [ebx + 0xc], cl
mov byte [ebx + 0xd], 0x77
mov ah, 0x6a
mov byte [ebx + 0xe], ah
mov byte [ebx + 0xf], cl
mov cl, 0x61
mov byte [ebx + 0x10], cl
mov byte [ebx + 0x11], 0x70
mov byte [ebx + 0x12], 0x59
mov dh, 0x55
mov byte [ebx + 0x13], dh
mov byte [ebx + 0x14], ah
mov byte [ebx + 0x15], 0x6e
mov byte [ebx + 0x16], 0x65
mov byte [ebx + 0x17], cl
mov byte [ebx + 0x18], pe_nt_image_headers32
mov byte [ebx + 0x19], 0x7f
mov byte [ebx + 0x1a], 0x2d
mov byte [ebx + 0x1b], al
mov byte [ebx + 0x1c], 0x5f
mov al, 0x54
mov byte [ebx + 0x1d], al
mov byte [ebx + 0x1e], 0x4a
mov byte [ebx + 0x1f], ch
mov byte [ebx + 0x20], 0x45
mov byte [ebx + 0x21], dl
mov byte [ebx + 0x22], 0x50
mov byte [ebx + 0x23], 0x5c
mov byte [ebx + 0x24], 0x47
mov byte [ebx + 0x25], 0x66
mov byte [ebx + 0x26], al
mov cl, 0x4c
mov byte [ebx + 0x27], cl
mov byte [ebx + 0x28], cl
mov byte [ebx + 0x29], dh
mov byte [ebx + 0x2a], 0x52
mov byte [ebx + 0x2b], al
lea eax, [esp + 0x13e]
lea ecx, [esp + 0x140]
mov dword [esp + 4], ecx
mov edx, 0x3009e8d6
mov ecx, 0xe21e4dfe
cmp edx, 0xe21e4dfe
je 0x10063bed
cmp edx, 0x3009e8d6
jne 0x10063bcb
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0x3009e8d6
cmove edx, ecx
jmp 0x10063bcb
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0xe2353cfe
mov esi, 0x5f324ebd
mov ecx, 0x40ad65ca
cmp edx, 0xe2353cfd
jg 0x10063c42
cmp edx, 0x8481a6e8
je 0x10063c6d
cmp edx, 0x87e5eea7
je 0x10063c88
cmp edx, 0xca14f136
jne 0x10063c11
mov edx, dword [esp + 0x64]
cmp edx, 0x2c
mov edx, 0x87e5eea7
cmovb edx, esi
jmp 0x10063c11
cmp edx, 0x5f324ebd
je 0x10063cad
cmp edx, 0x40ad65ca
je 0x10063cf6
cmp edx, 0xe2353cfe
jne 0x10063c11
test byte [esp + 3], 1
mov edx, 0x8481a6e8
cmove edx, ecx
jmp 0x10063c11
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0xca14f136
jmp 0x10063c11
mov edx, dword [esp + 4]
mov byte [esp + 0x13e], 0
mov byte [esp + 0x13f], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x40ad65ca
jmp 0x10063c11
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov ah, byte [esp + 0x111]
mov edi, 0x3e
sub edi, edx
inc edx
and edi, 0x2d
and edx, 0xd2
or edx, edi
xor dl, ah
xor dl, al
xor dl, 1
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0xca14f136
jmp 0x10063c11
xor eax, eax
lea esi, [esp + 0x140]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0xf8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
lea eax, [esp + 0x11d]
mov byte [eax - 0xd], 1
mov byte [eax - 0xc], 0x3a
mov byte [eax - 0xb], 0x60
mov cl, 0x41
mov byte [eax - 0xa], cl
mov byte [eax - 9], 0x5d
mov byte [eax - 8], 0x51
mov byte [eax - 7], cl
mov byte [eax - 6], 0x54
mov byte [eax - 5], 0x42
mov byte [eax - 4], 0x77
mov byte [eax - 3], 0x59
mov byte [eax - 2], 0x56
mov byte [eax - 1], 0x5f
lea ecx, [esp + 0x11f]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ecx
mov edx, 0xb1d02eb7
mov ecx, 0x73e08677
cmp edx, 0x73e08677
je 0x10063da5
cmp edx, 0xb1d02eb7
jne 0x10063d83
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0xb1d02eb7
cmove edx, ecx
jmp 0x10063d83
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0x88c23e7f
mov esi, 0x900f9abe
mov ecx, 0x8de08987
cmp edx, 0xd22ca0ff
jg 0x10063dee
cmp edx, 0x88c23e7f
je 0x10063e25
cmp edx, 0x8de08987
je 0x10063e45
cmp edx, 0x900f9abe
jne 0x10063dc9
jmp 0x10063eb3
cmp edx, 0xd22ca100
je 0x10063e34
cmp edx, 0x4bcd24c2
je 0x10063e8e
cmp edx, 0x58b8e416
jne 0x10063dc9
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0xd22ca100
jmp 0x10063dc9
test byte [esp + 3], 1
mov edx, 0x58b8e416
cmove edx, esi
jmp 0x10063dc9
mov edx, dword [esp + 0x64]
cmp edx, 0xb
mov edx, 0x4bcd24c2
cmovb edx, ecx
jmp 0x10063dc9
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov ah, byte [esp + 0x111]
mov ebp, 0x7e
sub ebp, edx
and ebp, 0x60
inc edx
and edx, 0x9f
or edx, ebp
xor dl, ah
xor dl, al
xor dl, 0x6b
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0xd22ca100
jmp 0x10063dc9
mov edx, dword [esp + 4]
mov byte [esp + 0x11d], 0
mov byte [esp + 0x11e], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x900f9abe
jmp 0x10063dc9
xor eax, eax
lea esi, [esp + 0xf8]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0xe0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
lea eax, [esp + 0x12b]
mov byte [eax - 0x1b], 1
mov byte [eax - 0x1a], 0x3a
mov byte [eax - 0x19], 0x61
mov byte [eax - 0x18], 0x54
mov byte [eax - 0x17], 0x52
mov byte [eax - 0x16], 0x55
mov cl, 0x43
mov byte [eax - 0x15], cl
mov dl, 0x4b
mov byte [eax - 0x14], dl
mov byte [eax - 0x13], 0x50
mov byte [eax - 0x12], 0x66
mov byte [eax - 0x11], dl
mov byte [eax - 0x10], cl
mov byte [eax - 0xf], 0x47
mov byte [eax - 0xe], 0x5d
mov byte [eax - 0xd], 0x78
mov dl, 0x48
mov byte [eax - 0xc], dl
mov ch, 0x5e
mov byte [eax - 0xb], ch
mov byte [eax - 0xa], 0x40
mov byte [eax - 9], 0x5b
mov byte [eax - 8], ch
mov byte [eax - 7], ch
mov byte [eax - 6], 0x79
mov byte [eax - 5], cl
mov byte [eax - 4], 0x58
mov byte [eax - 3], 0x56
mov byte [eax - 2], ch
mov byte [eax - 1], dl
lea ebp, [esp + 0x12d]
mov dword [esp + 4], ebp
mov edx, 0x8234f42f
mov ecx, 0x2cbf0b07
cmp edx, 0x2cbf0b07
je 0x10063f93
cmp edx, 0x8234f42f
jne 0x10063f71
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0x8234f42f
cmove edx, ecx
jmp 0x10063f71
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0xc793e57b
mov esi, 0x197d1a06
mov ecx, 0x259be206
cmp edx, 0x513c3945
jg 0x10064010
cmp edx, 0xc793e57b
je 0x10064046
cmp edx, 0x197d1a06
je 0x10064091
cmp edx, 0x259be206
jne 0x10063fb7
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov ah, byte [esp + 0x111]
inc dl
xor dl, ah
xor dl, al
xor dl, 0x19
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0x513c3946
jmp 0x10063fb7
cmp edx, 0x513c3946
je 0x10064058
cmp edx, 0x6c7d16c8
je 0x1006406c
cmp edx, 0x77d4db00
jne 0x10063fb7
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0x513c3946
jmp 0x10063fb7
test byte [esp + 3], 1
mov edx, 0x77d4db00
cmove edx, esi
jmp 0x10063fb7
mov edx, dword [esp + 0x64]
cmp edx, 0x19
mov edx, 0x6c7d16c8
cmovb edx, ecx
jmp 0x10063fb7
mov edx, dword [esp + 4]
mov byte [esp + 0x12b], 0
mov byte [esp + 0x12c], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x197d1a06
jmp 0x10063fb7
xor eax, eax
lea esi, [esp + 0xe0]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0xc8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
lea eax, [esp + 0x12b]
mov byte [eax - 0x1b], 1
mov byte [eax - 0x1a], 0x3a
mov byte [eax - 0x19], 0x61
mov byte [eax - 0x18], 0x54
mov byte [eax - 0x17], 0x52
mov byte [eax - 0x16], 0x55
mov cl, 0x43
mov byte [eax - 0x15], cl
mov byte [eax - 0x14], 0x4b
mov byte [eax - 0x13], 0x50
mov byte [eax - 0x12], 0x66
mov byte [eax - 0x11], cl
mov dl, 0x47
mov byte [eax - 0x10], dl
mov byte [eax - 0xf], dl
mov byte [eax - 0xe], 0x5d
mov byte [eax - 0xd], 0x78
mov dl, 0x48
mov byte [eax - 0xc], dl
mov ch, 0x5e
mov byte [eax - 0xb], ch
mov byte [eax - 0xa], 0x40
mov byte [eax - 9], 0x5b
mov byte [eax - 8], ch
mov byte [eax - 7], ch
mov byte [eax - 6], 0x79
mov byte [eax - 5], cl
mov byte [eax - 4], 0x58
mov byte [eax - 3], 0x56
mov byte [eax - 2], ch
mov byte [eax - 1], dl
mov dword [esp + 4], ebp
mov edx, 0x8234f42f
mov ecx, 0x2cbf0b07
cmp edx, 0x2cbf0b07
je 0x1006416a
cmp edx, 0x8234f42f
jne 0x10064148
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0x8234f42f
cmove edx, ecx
jmp 0x10064148
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0xc793e57b
mov esi, 0x197d1a06
mov ecx, 0x259be206
cmp edx, 0x513c3945
jg 0x100641e7
cmp edx, 0xc793e57b
je 0x1006421d
cmp edx, 0x197d1a06
je 0x10064268
cmp edx, 0x259be206
jne 0x1006418e
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov ah, byte [esp + 0x111]
inc dl
xor dl, ah
xor dl, al
xor dl, 0x19
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0x513c3946
jmp 0x1006418e
cmp edx, 0x513c3946
je 0x1006422f
cmp edx, 0x6c7d16c8
je 0x10064243
cmp edx, 0x77d4db00
jne 0x1006418e
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0x513c3946
jmp 0x1006418e
test byte [esp + 3], 1
mov edx, 0x77d4db00
cmove edx, esi
jmp 0x1006418e
mov edx, dword [esp + 0x64]
cmp edx, 0x19
mov edx, 0x6c7d16c8
cmovb edx, ecx
jmp 0x1006418e
mov edx, dword [esp + 4]
mov byte [esp + 0x12b], 0
mov byte [esp + 0x12c], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x197d1a06
jmp 0x1006418e
xor eax, eax
lea esi, [esp + 0xc8]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0xb0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea eax, [esp + 0x11e]
mov byte [eax - 0xe], 1
mov byte [eax - 0xd], 0x3a
mov byte [eax - 0xc], 0x74
mov byte [eax - 0xb], 0x41
mov byte [eax - 0xa], 0x47
mov byte [eax - 9], 0x40
mov byte [eax - 8], 0x56
mov cl, 0x5e
mov byte [eax - 7], cl
mov byte [eax - 6], 0x45
mov byte [eax - 5], 0x7c
mov byte [eax - 4], 0x4a
mov byte [eax - 3], 0x55
mov byte [eax - 2], 0x51
mov byte [eax - 1], cl
lea ecx, [esp + 0x120]
mov dword [esp + 4], ecx
mov edx, 0x97f04ec0
mov ecx, 0x11d9f019
cmp edx, 0x11d9f019
je 0x10064317
cmp edx, 0x97f04ec0
jne 0x100642f5
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0x97f04ec0
cmove edx, ecx
jmp 0x100642f5
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0x6ab27fcd
mov ecx, 0xa73512ed
cmp edx, 0xe373da03
jg 0x1006435b
cmp edx, 0x858992e6
je 0x10064382
cmp edx, 0x9c6174a3
je 0x100643c2
cmp edx, 0xa73512ed
jne 0x10064336
jmp 0x10064424
cmp edx, 0xe373da04
je 0x1006439d
cmp edx, 0xea3dbeb
je 0x100643db
cmp edx, 0x6ab27fcd
jne 0x10064336
test byte [esp + 3], 1
mov edx, 0x858992e6
cmove edx, ecx
jmp 0x10064336
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0x9c6174a3
jmp 0x10064336
mov edx, dword [esp + 4]
mov byte [esp + 0x11e], 0
mov byte [esp + 0x11f], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0xa73512ed
jmp 0x10064336
mov edx, dword [esp + 0x64]
cmp edx, 0xc
mov edx, 0xe373da04
mov eax, 0xea3dbeb
cmovb edx, eax
jmp 0x10064336
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov ebp, dword [esp + 0x64]
mov dl, byte [esp + 0x111]
movzx edi, dl
lea esi, [ebp + 1]
mov edx, 0xfe
sub edx, ebp
and edx, edi
not edi
and edi, esi
or edx, edi
xor dl, al
xor dl, 0xc
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0x9c6174a3
jmp 0x10064336
xor eax, eax
lea esi, [esp + 0xb0]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0x98]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea eax, [esp + 0x11d]
mov byte [eax - 0xd], 1
mov byte [eax - 0xc], 0x3a
mov byte [eax - 0xb], 0x79
mov byte [eax - 0xa], 0x5d
mov cl, 0x41
mov byte [eax - 9], cl
mov byte [eax - 8], cl
mov byte [eax - 7], 0x55
mov byte [eax - 6], 0x5b
mov byte [eax - 5], 0x5a
mov byte [eax - 4], 0x7d
mov byte [eax - 3], 0x59
mov byte [eax - 2], 0x4f
mov byte [eax - 1], 0x5f
lea ecx, [esp + 0x11f]
mov dword [esp + 4], ecx
mov edx, 0xb1d02eb7
mov ecx, 0x73e08677
cmp edx, 0x73e08677
je 0x100644cf
cmp edx, 0xb1d02eb7
jne 0x100644ad
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0xb1d02eb7
cmove edx, ecx
jmp 0x100644ad
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0x88c23e7f
mov esi, 0x900f9abe
mov ecx, 0x8de08987
cmp edx, 0xd22ca0ff
jg 0x10064518
cmp edx, 0x88c23e7f
je 0x1006454f
cmp edx, 0x8de08987
je 0x1006456f
cmp edx, 0x900f9abe
jne 0x100644f3
jmp 0x100645dd
cmp edx, 0xd22ca100
je 0x1006455e
cmp edx, 0x4bcd24c2
je 0x100645b8
cmp edx, 0x58b8e416
jne 0x100644f3
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0xd22ca100
jmp 0x100644f3
test byte [esp + 3], 1
mov edx, 0x58b8e416
cmove edx, esi
jmp 0x100644f3
mov edx, dword [esp + 0x64]
cmp edx, 0xb
mov edx, 0x4bcd24c2
cmovb edx, ecx
jmp 0x100644f3
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov ah, byte [esp + 0x111]
mov edi, 0x7e
sub edi, edx
and edi, 0x60
inc edx
and edx, 0x9f
or edx, edi
xor dl, ah
xor dl, al
xor dl, 0x6b
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0xd22ca100
jmp 0x100644f3
mov edx, dword [esp + 4]
mov byte [esp + 0x11d], 0
mov byte [esp + 0x11e], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x900f9abe
jmp 0x100644f3
xor eax, eax
lea esi, [esp + 0x98]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0x80]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
lea eax, [esp + 0x121]
mov byte [eax - 0x11], 1
mov byte [eax - 0x10], 0x3a
mov byte [eax - 0xf], 0x65
mov cl, 0x4c
mov byte [eax - 0xe], cl
mov dl, 0x47
mov byte [eax - 0xd], dl
mov byte [eax - 0xc], dl
mov byte [eax - 0xb], 0x57
mov byte [eax - 0xa], 0x5c
mov byte [eax - 9], 0x66
mov byte [eax - 8], 0x5a
mov byte [eax - 7], cl
mov byte [eax - 6], 0x4e
mov byte [eax - 5], 0x55
mov cl, 0x54
mov byte [eax - 4], cl
mov byte [eax - 3], cl
mov dword [esp + 4], eax
mov ecx, 0x2c86cbbe
mov eax, 0xe9a47843
cmp ecx, 0xe9a47843
je 0x10064691
cmp ecx, 0x2c86cbbe
jne 0x10064667
mov ecx, dword [esp + 0xc]
mov byte [ecx], 0
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, dword [esp + 4]
mov ecx, 0x2c86cbbe
cmove ecx, eax
jmp 0x10064667
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0x548898f
mov ecx, 0x2c7b7458
cmp edx, 0x548898e
jg 0x1006471e
cmp edx, 0xb1f3dd0d
je 0x1006474c
cmp edx, 0xda0e8870
je 0x1006476a
cmp edx, 0xde274d56
jne 0x100646b0
mov edx, dword [esp + 0x64]
mov al, byte [esp + edx + 0x112]
mov edi, dword [esp + 0x64]
mov dl, byte [esp + 0x111]
movzx ebp, dl
lea esi, [edi + 1]
mov edx, 0xfe
sub edx, edi
and edx, ebp
not ebp
and ebp, esi
or edx, ebp
xor dl, al
xor dl, 0xd
mov eax, dword [esp + 0x64]
mov byte [esp + eax + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0x2e8d951e
jmp 0x100646b0
cmp edx, 0x2e8d951e
je 0x1006478f
cmp edx, 0x2c7b7458
je 0x100647a8
cmp edx, 0x548898f
jne 0x100646b0
test byte [esp + 3], 1
mov edx, 0xb1f3dd0d
cmove edx, ecx
jmp 0x100646b0
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0x2e8d951e
jmp 0x100646b0
mov edx, dword [esp + 4]
mov byte [esp + 0x11f], 0
mov byte [esp + 0x120], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x2c7b7458
jmp 0x100646b0
mov edx, dword [esp + 0x64]
cmp edx, 0xd
mov edx, 0xda0e8870
mov eax, 0xde274d56
cmovb edx, eax
jmp 0x100646b0
xor eax, eax
lea esi, [esp + 0x80]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0x68]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
lea eax, [esp + 0x132]
mov byte [eax - 0x22], 1
mov byte [eax - 0x21], 0x3a
mov cl, 0x53
mov byte [eax - 0x20], cl
mov byte [eax - 0x1f], 0x59
mov byte [eax - 0x1e], 0x4b
mov dl, 0x5a
mov byte [eax - 0x1d], dl
mov byte [eax - 0x1c], 0x48
mov byte [eax - 0x1b], 0x5d
mov ch, 0x4f
mov byte [eax - 0x1a], ch
mov byte [eax - 0x19], 0x57
mov byte [eax - 0x18], ch
mov ch, 0x54
mov byte [eax - 0x17], ch
mov byte [eax - 0x16], ch
mov dh, 0x45
mov byte [eax - 0x15], dh
mov byte [eax - 0x14], ch
mov ch, 0x46
mov byte [eax - 0x13], ch
mov byte [eax - 0x12], 0x5c
mov byte [eax - 0x11], dl
mov edi, ebx
mov bl, 0x5f
mov byte [eax - 0x10], bl
mov byte [eax - 0xf], 0x41
mov byte [eax - 0xe], ch
mov byte [eax - 0xd], 0x40
mov byte [eax - 0xc], cl
mov byte [eax - 0xb], bl
mov ebx, edi
mov byte [eax - 0xa], 0x74
mov byte [eax - 9], 0x71
mov byte [eax - 8], 0x77
mov byte [eax - 7], 0x65
mov byte [eax - 6], 0x6c
mov byte [eax - 5], dl
mov byte [eax - 4], dh
mov byte [eax - 3], 0x4d
mov byte [eax - 2], 0x4a
mov byte [eax - 1], 0x69
lea ecx, [esp + 0x134]
mov dword [esp + 4], ecx
mov edx, 0xfd63628d
mov ecx, 0x6919ac05
cmp edx, 0x6919ac05
je 0x100648a6
cmp edx, 0xfd63628d
jne 0x10064884
mov byte [eax], 0
inc eax
cmp eax, dword [esp + 4]
mov edx, 0xfd63628d
cmove edx, ecx
jmp 0x10064884
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
mov byte [esp + 3], al
mov edx, 0xb0b9c35b
mov eax, 0x1b2716df
mov ecx, 0x33b7a9b9
cmp edx, 0x33b7a9b8
jg 0x100648f3
cmp edx, 0xb0b9c35b
je 0x10064931
cmp edx, 0xb6d62993
je 0x1006497a
cmp edx, 0x1b2716df
jne 0x100648ca
jmp 0x100649ac
cmp edx, 0x33b7a9b9
je 0x10064940
cmp edx, 0x69288bfc
je 0x10064998
cmp edx, 0x7de39b34
jne 0x100648ca
mov edx, dword [esp + 4]
mov byte [esp + 0x132], 0
mov byte [esp + 0x133], 0
mov edx, dword [esp + 8]
mov byte [edx], 0
mov edx, 0x1b2716df
jmp 0x100648ca
test byte [esp + 3], 1
mov edx, 0xb6d62993
cmove edx, eax
jmp 0x100648ca
mov edx, dword [esp + 0x64]
mov bl, byte [esp + edx + 0x112]
mov edx, dword [esp + 0x64]
mov bh, byte [esp + 0x111]
inc dl
xor dl, bh
xor dl, bl
mov ebx, edi
xor dl, 0x20
mov esi, dword [esp + 0x64]
mov byte [esp + esi + 0x112], dl
inc dword [esp + 0x64]
mov edx, 0x69288bfc
jmp 0x100648ca
lea edx, [esp + 0x64]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x64], 0
mov edx, 0x69288bfc
jmp 0x100648ca
mov edx, dword [esp + 0x64]
cmp edx, 0x20
mov edx, 0x7de39b34
cmovb edx, ecx
jmp 0x100648ca
xor eax, eax
lea esi, [esp + 0x68]
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push ebx
call fcn.1009ee80
add esp, 4
mov ecx, esi
push eax
push ebx
call fcn.10007b00
lea eax, [esp + 0x464]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xf8]
call fcn.10007bca
mov esi, eax
lea ecx, [esp + 0x140]
call fcn.10007bca
push 0x104
push dword [esp + 0x50]
push esi
push eax
call fcn.1005b834
add esp, 0x10
mov dword [esp + 0x54], eax
mov eax, 0xe67db6e5
mov ebp, 0x104
cmp eax, 0xf2dba1a2
jle 0x10064b48
cmp eax, 0x3f06da78
jg 0x10064b8a
cmp eax, 0xf2dba1a3
je 0x10064bf5
cmp eax, 0xf49c9e83
je 0x10064c27
cmp eax, 0xf77c2187
jne 0x10064a19
lea ecx, [esp + 0xe0]
call fcn.10007bca
mov edi, eax
mov byte [esp + 0xc], bl
lea ebx, [esp + 0x140]
mov ecx, ebx
call fcn.10007bca
mov ecx, 4
push ecx
mov esi, 4
push dword [esp + 0x20]
push edi
push eax
call fcn.1005b834
add esp, 0x10
lea ecx, [esp + 0xc8]
call fcn.10007bca
mov edi, eax
mov ecx, ebx
call fcn.10007bca
push esi
push dword [esp + 0x24]
push edi
push eax
call fcn.1005b834
add esp, 0x10
lea ecx, [esp + 0xb0]
call fcn.10007bca
mov edi, eax
mov ecx, ebx
call fcn.10007bca
push ebp
lea esi, [esp + 0x15c]
push esi
push edi
push eax
call fcn.1005b834
add esp, 0x10
push esi
push dword [esp + 0x60]
push dword [esp + 0x68]
push str._d._d._s
push ebp
lea edi, [esp + 0x374]
push edi
call fcn.10009906
add esp, 0x18
push edi
call fcn.1009ee80
add esp, 4
mov ecx, dword [esp + 0x584]
push eax
push edi
call fcn.10007b00
lea ecx, [esp + 0x98]
call fcn.10007bca
mov edi, eax
mov ecx, ebx
mov bl, byte [esp + 0xc]
call fcn.10007bca
mov ecx, 4
push ecx
push dword [esp + 0x2c]
push edi
push eax
call fcn.1005b834
add esp, 0x10
test eax, eax
mov eax, 0x9f75a1e9
mov ecx, 0xf2dba1a3
cmove eax, ecx
jmp 0x10064a19
cmp eax, 0xe67db6e4
jle 0x10064bc5
cmp eax, 0xe67db6e5
je 0x10064c4c
cmp eax, 0xedfd4acf
je 0x10064c63
cmp eax, 0xf07b7511
jne 0x10064a19
mov eax, dword [esp + 0x588]
cmp dword [eax + 0x10], 0
mov eax, 0x7278f6d1
mov ecx, 0xedfd4acf
jmp 0x10064c90
cmp eax, 0x3f06da79
je 0x10064c7b
cmp eax, 0x6c347465
jne 0x10064ce3
mov edi, dword [esp + 0x4c]
push edi
call fcn.1009ee80
add esp, 4
mov ecx, dword [esp + 0x580]
push eax
push edi
call fcn.10007b00
mov eax, 0xf77c2187
jmp 0x10064a19
cmp eax, 0x9f75a1e9
je 0x10064c9a
cmp eax, 0xda1bc152
jne 0x10064a19
mov eax, dword [esp + 0x580]
cmp dword [eax + 0x10], 0
mov eax, 0x7278f6d1
mov ecx, 0x3f06da79
jmp 0x10064c90
push dword [esp + 0x58]
lea esi, [esp + 0x114]
push esi
call fcn.1005bfb0
add esp, 8
mov ecx, dword [esp + 0x588]
push esi
call fcn.1000105c
mov ecx, esi
call fcn.100087f0
mov eax, 0x9f75a1e9
jmp 0x10064a19
mov edi, dword [esp + 0x50]
push edi
call fcn.1009ee80
add esp, 4
mov ecx, dword [esp + 0x58c]
push eax
push edi
call fcn.10007b00
mov eax, 0xda1bc152
jmp 0x10064a19
cmp dword [esp + 0x54], 0
mov eax, 0xf77c2187
mov ecx, 0x6c347465
cmove eax, ecx
jmp 0x10064a19
mov eax, dword [esp + 0x58c]
cmp dword [eax + 0x10], 0
setne bl
mov eax, 0x7278f6d1
jmp 0x10064a19
mov eax, dword [esp + 0x584]
cmp dword [eax + 0x10], 0
mov eax, 0x7278f6d1
mov ecx, 0xf07b7511
cmove eax, ecx
mov bl, 1
jmp 0x10064a19
lea eax, [esp + 0x25c]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x80]
call fcn.10007bca
mov edi, eax
lea ecx, [esp + 0x68]
call fcn.10007bca
push 0x104
push dword [esp + 0x54]
push edi
push eax
call fcn.1005b834
add esp, 0x10
test eax, eax
mov eax, 0xda1bc152
mov ecx, 0xf49c9e83
cmove eax, ecx
jmp 0x10064a19
cmp eax, 0x7278f6d1
jne 0x10064a19
lea ecx, [esp + 0x68]
call fcn.100087f0
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x80]
call fcn.100087f0
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x98]
call fcn.100087f0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xb0]
call fcn.100087f0
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc8]
call fcn.100087f0
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0xe0]
call fcn.100087f0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xf8]
call fcn.100087f0
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x140]
call fcn.100087f0
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
and bl, 1
mov ecx, dword [esp + 0x568]
xor ecx, esp
call fcn.100879aa
mov eax, ebx
add esp, 0x56c
pop esi
pop edi
pop ebx
pop ebp
ret