Function at 0x47d4b0
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xcd0
mov edi, dword [ebp + 8]
lea eax, [esp + 0x250]
mov dword [esp], eax
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
call fcn.007ce3c0
xorps xmm0, xmm0
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
mov dword [esp + 0x14c], 0
lea eax, [esp + 0x130]
mov dword [esp], eax
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.007c51a0
lea eax, [esp + 0xa64]
mov dword [esp], eax
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
call fcn.007c51a0
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], 0x20
call fcn.004585b0
test eax, eax
jne 0x47d78c
mov esi, 0x20
mov dword [esp], edi
call fcn.0040a2e0
mov byte [esp + 0x5f], al
mov byte [esp + 0x5e], al
mov byte [esp + 0xc3], al
mov byte [esp + 0x69], al
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], al
mov byte [esp + 0xa3], al
mov byte [esp + 0xa1], al
mov byte [esp + 0xb3], al
mov byte [esp + 0xbb], al
mov byte [esp + 0x9b], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x57], al
mov byte [esp + 0x8f], al
mov dword [esp + 0x108], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xa2], al
mov byte [esp + 0x127], al
mov byte [esp + 0xc2], ah
mov dword [esp + 0x80], edi
mov byte [esp + 0xe3], bl
mov dword [esp + 0xa8], edx
mov byte [esp + 0x11b], al
mov dword [esp + 0x9c], ecx
mov byte [esp + 0xd3], bh
cmp esi, 0x10
jne 0x47fda8
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x481232
jmp 0x47fda8
mov byte [esp + 0x5f], al
mov byte [esp + 0xbb], al
mov byte [esp + 0x9b], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x5e], al
mov byte [esp + 0xc3], al
mov byte [esp + 0xa2], al
mov byte [esp + 0x69], al
mov byte [esp + 0xc2], al
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], al
mov byte [esp + 0xa3], al
mov byte [esp + 0xa1], al
mov byte [esp + 0xb3], al
mov esi, 0x12
mov dword [esp + 0x108], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0x57], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x11b], al
mov byte [esp + 0xd3], al
mov byte [esp + 0xe3], al
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa8], eax
cmp esi, 4
mov dword [esp + 0x104], 0x70000032
je 0x47d995
imul esi, esi
and esi, 3
cmp esi, 2
je 0x47d995
mov dword [esp + 0xbc], edx
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x14c]
lea ecx, [eax + 0x24]
lea edx, [eax + 0x30]
lea esi, [eax + 0x1c]
lea eax, [eax + 0x28]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00414a40
call fcn.00455fb0
test eax, eax
jne 0x47d9b6
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov byte [esp + 0x6b], 0x5f
mov esi, 3
mov edx, 0x70000032
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x120]
jmp 0x480e71
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov dword [esp + 0xbc], edx
mov dword [esp + 0xfc], ecx
jmp 0x47eaaf
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov byte [esp + 0x6b], 0x5f
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.transfer
call fcn.004582d0
mov dword [esp + 0x104], 0x70000032
jmp 0x47ff01
mov dword [esp + 0x128], edi
mov byte [esp + 0x6b], 0x5f
mov byte [esp + 0xd3], 0x53
mov byte [esp + 0x11b], 0x1f
mov byte [esp + 0xa3], 0x25
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459aa0
call fcn.005ae190
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x47da9a
mov dword [esp + 0x78], ecx
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x47feb5
jmp 0x47dba2
mov dword [esp + 0x78], ecx
jmp 0x47dba2
mov eax, 0xe
mov bl, 0x25
mov ecx, dword [esi + 8]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x47dbde
mov byte [esp + 0xa3], 0x25
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xc8]
cmp eax, 0xe
je 0x47db94
imul eax, eax
and eax, 3
cmp eax, 3
je 0x47db94
mov dword [esp + 0xc8], edx
mov byte [esp + 0x9b], 0x68
mov byte [esp + 0xbb], 0x2d
mov eax, dword [esp + 0x120]
lea edx, [eax + 0x68]
lea eax, [esp + 0xa64]
mov dword [esp], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 9
mov dword [esp + 0xfc], ecx
call fcn.00486290
mov dword [esp + 0xf0], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov edi, dword [esp + 0x128]
je 0x4802ec
jmp 0x47f4fa
mov dword [esp + 0xc8], edx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x130], 0x70000024
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0x70000024
mov dword [esp + 0x114], 0
mov dword [esp + 0x11c], 0
jmp 0x47f050
mov dword [esp + 0x78], esi
mov esi, dword [esi + 4]
mov dword [esp + 0xa84], 0
mov dword [esp + 0xa80], 0
lea eax, [esp + 0xa50]
mov dword [esp], eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
call fcn.007c51a0
lea eax, [esp + 0xa84]
mov dword [esp + 8], eax
lea eax, [esp + 0xa80]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0049b210
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x47dcdd
mov byte [esp + 0xa1], 0x48
mov eax, dword [esp + 0xa84]
mov dword [esp], eax
call fcn.007ca950
test eax, eax
je 0x47dd01
mov byte [esp + 0xa3], bl
mov ebx, 4
mov esi, 0x13
mov byte [esp + 0x5f], 0x1f
mov dword [esp], eax
mov dword [esp + 0x44], eax
call fcn.007aee60
mov dword [esp], eax
mov dword [esp + 4], str.rehost
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x108], 0x7000003b
cmp eax, ecx
mov dword [esp + 0xf8], 0x7000003b
mov edi, dword [esp + 0x128]
jne 0x480687
jmp 0x4806fb
mov byte [esp + 0xa3], bl
mov byte [esp + 0xa1], 0x48
mov eax, 3
mov dword [esp + 0xf8], 0x7000003b
jmp 0x47f848
mov esi, 0x13
mov ecx, 0x7000003b
mov edx, 0x7000003b
mov dword [esp + 0x108], ecx
cmp esi, 0xd
jne 0x47dd44
mov dword [esp + 0xf8], edx
mov dword [esp + 0x44], eax
mov byte [esp + 0xa3], bl
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x47eaaf
jmp 0x48009a
mov dword [esp + 0x44], eax
mov byte [esp + 0xa3], bl
jmp 0x48009a
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
je 0x4802ec
mov dword [esp + 0x128], edi
mov byte [esp + 0x5f], 0x10
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], str.hasp
call fcn.006492a0
test eax, eax
mov dword [esp + 0x108], 0x7000003b
je 0x48009a
xor ecx, ecx
test cl, cl
jne 0x48009a
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.006494b0
test eax, eax
je 0x47de1e
mov cl, 0x7c
mov esi, 0x7000003b
mov edx, 0x13
movzx ecx, cl
cmp ecx, 0x65
je 0x47de35
mov edx, 5
cmp ecx, 0x77
jne 0x47de4c
mov esi, 0xe
mov dword [esp], eax
mov dword [esp + 0xb4], eax
call fcn.007aee60
mov dword [esp], eax
mov dword [esp + 4], 0x7d6932
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov dword [esp + 0x108], 0x7000003b
cmp eax, ecx
jne 0x48009a
jmp 0x47df5c
mov dword [esp + 0x108], 0x7000003b
mov dword [esp + 0xb4], eax
jmp 0x48009a
mov dword [esp + 0x108], 0x7000003b
mov ecx, dword [esp + 0xf0]
jmp 0x47f6ee
mov ecx, dword [esp + 0x58]
mov bh, byte [esp + 0x127]
mov dword [esp + 0x58], ecx
cmp edx, 1
jne 0x47de7a
mov dword [esp + 0x108], esi
mov dword [esp + 0xb4], eax
mov byte [esp + 0x127], bh
jmp 0x47ea98
mov dword [esp], eax
mov dword [esp + 0xb4], eax
call fcn.007aee60
mov dword [esp], eax
mov dword [esp + 4], 0x7d6932
call fcn.007c58b0
test eax, eax
jne 0x47dea6
mov byte [esp + 0x127], bh
jmp 0x47dec2
mov byte [esp + 0x127], bh
mov eax, 7
mov dword [esp + 0x108], 0x7000003b
jmp 0x47eaec
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.00649510
lea ecx, [esp + 0xa78]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.007c4280
mov ecx, dword [esp + 0xa78]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
test eax, eax
jne 0x47df78
mov dword [esp + 0x108], 0x7000003b
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x48009a
mov eax, dword [esp + 0xa7c]
movzx edx, dl
xor edx, ecx
or edx, eax
je 0x48009a
mov esi, 0x1b
mov dword [esp + 0xa58], 1
mov dword [esp + 0xa50], ecx
mov dword [esp + 0xa54], eax
mov dword [esp + 0x108], 0
cmp esi, 0xe
je 0x47dec2
mov eax, esi
and eax, 1
inc eax
xor eax, esi
jne 0x48009a
jmp 0x47dec2
mov dword [esp + 0x108], 0x7000003b
jmp 0x48009a
mov ebx, 9
mov byte [esp + 0xa1], 0x40
mov al, 8
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0xf8]
test edx, edx
jne 0x47dfc4
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
mov dword [esp + 0xc4], edx
jne 0x480235
jmp 0x47dfcb
mov dword [esp + 0xc4], edx
cmp ebx, 9
je 0x4801c1
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
jne 0x48099c
jmp 0x4801c1
mov ecx, 7
mov eax, dword [esp + 0xa58]
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp eax, edx
jne 0x47e01c
mov dword [esp + 0x9c], 0
mov byte [esp + 0xb3], 0x65
jmp 0x47e034
mov dword [esp + 0x9c], 0
mov byte [esp + 0xb3], 0x65
jmp 0x480330
cmp ecx, 4
jne 0x47e0aa
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x47e0aa
mov eax, dword [esp + 0xa58]
cmp eax, 1
je 0x47e073
mov cl, 6
mov dword [esp + 0x9c], ecx
mov byte [esp + 0xb3], 0x65
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x480330
jmp 0x47e0aa
mov al, 6
mov dword [esp + 0x9c], eax
mov byte [esp + 0xb3], 0x65
jmp 0x47e0aa
mov esi, 0xe
mov al, 0x1a
mov dword [esp + 0x9c], eax
mov byte [esp + 0xb3], 0x65
cmp dword [esp + 0xa58], 1
jne 0x480467
mov esi, 0xc
mov eax, dword [esp + 0xa50]
mov ecx, dword [esp + 0xa54]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0041f570
mov dword [esp + 0x120], eax
test eax, eax
mov ebx, dword [esp + 0xe4]
je 0x47e0e7
mov eax, dword [esp + 0xc4]
jmp 0x480203
mov dword [esp + 0x130], 0x70000007
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0x70000007
jmp 0x47dbc3
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x47e142
mov dword [esp + 0x3c], eax
mov eax, 0xa
mov edx, ecx
mov dword [esp + 0xfc], edx
and ecx, 1
inc ecx
xor ecx, edx
jne 0x480eb1
jmp 0x47e16b
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x3c], eax
jmp 0x47e16b
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x47e1a6
mov ecx, 7
mov dword [esp + 0x130], 0x7000003a
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0x7000003a
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10c], eax
xor eax, eax
jmp 0x47e23e
mov dword [esp + 0xe4], ebx
mov al, 0x78
mov ebx, 0x1c
movzx ecx, al
cmp ecx, 0x36
je 0x47eb2d
mov eax, 0x18
cmp ecx, 0x78
jne 0x47dacb
mov byte [esp + 0x9b], 0x68
mov byte [esp + 0xbb], 0x2d
mov eax, dword [esp + 0x120]
lea edx, [eax + 0x68]
lea eax, [esp + 0xa64]
mov dword [esp], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 9
mov ecx, dword [esp + 0xfc]
jmp 0x47db63
cmp ecx, 7
je 0x47e388
mov dword [esp + 0x11c], eax
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x47e39b
mov dword [esp + 0xe4], ebx
mov byte [esp + 0x150], 0
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004117f0
mov eax, dword [esp + 0x12c]
mov dword [eax], 0
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.004936c0
lea eax, [esp + 0x250]
mov esi, eax
mov dword [esp], esi
call fcn.00493b90
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x10], eax
mov dword [esp], esi
call fcn.007c3e70
inc eax
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x128]
mov esi, dword [esi]
lea eax, [esp + 0x150]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov ebx, 0xd
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [ebp + 8]
mov edx, esi
call fcn.004813f0
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call fcn.004936c0
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.004938e0
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x18], eax
lea eax, [esp + 0x150]
mov dword [esp], eax
call fcn.007c3e70
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x14], eax
mov esi, dword [esp + 0xe8]
jmp 0x47edbd
mov dword [esp + 0x11c], eax
mov dword [esp + 0xe4], ebx
jmp 0x47f050
mov dword [esp + 0xe4], ebx
jmp 0x47f050
mov byte [esp + 0x9b], 0x68
mov al, 5
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
add edx, 0xc
mov dword [esp + 0xec], edx
cmp eax, ecx
jne 0x4803f8
mov esi, dword [esp + 0xec]
movzx eax, byte [esi]
shl eax, 0x18
movzx ecx, byte [esi + 1]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esi + 2]
shl eax, 8
or eax, ecx
movzx edi, byte [esi + 3]
or edi, eax
mov edx, dword [esp + 0xa8]
test dl, dl
je 0x47e49a
mov eax, 0xd
movzx ecx, dl
cmp ecx, 0x40
jne 0x47e4ac
mov dword [esp + 0x84], edi
mov dword [esp + 0xa8], edx
mov dword [esp + 0xec], esi
cmp eax, 0xa
mov ecx, dword [esp + 0x6c]
jne 0x47e519
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x47e519
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00432440
mov edi, eax
mov dword [esp], edi
call fcn.007ca940
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x47e5e6
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], edi
jmp 0x47ea98
mov dword [esp + 0xec], esi
mov al, 5
mov dword [esp + 0xa8], eax
jmp 0x47e4be
mov dword [esp + 0xec], esi
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa88], 0
lea edx, [esp + 0xa88]
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0x84], edi
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.004632c0
mov dword [esp + 0x104], eax
test eax, eax
jne 0x47eaaf
jmp 0x47e585
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa88], 0
lea edx, [esp + 0xa88]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.004632c0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x47e62a
mov al, 0x40
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.0041d2a0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov dword [esp + 0x104], 0x70000032
cmp eax, ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xbc]
jne 0x47eaaf
mov bl, 0x1b
mov eax, dword [esp + 0x120]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
jmp 0x47e820
mov al, 0x63
movzx eax, al
cmp eax, 0xe
mov bh, byte [esp + 0x127]
je 0x47e644
cmp eax, 0x63
jne 0x47e66a
mov dword [esp], edi
call fcn.00430350
test eax, eax
je 0x47e690
mov dword [esp + 0x50], edi
mov edx, 1
xor ecx, ecx
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x108]
jmp 0x47de57
mov dword [esp + 0x104], eax
mov al, 0x40
mov dword [esp + 0xa8], eax
mov eax, 0x11
jmp 0x47fcab
mov dword [esp], edi
call fcn.00430350
test eax, eax
je 0x47e690
xor eax, eax
test al, al
jne 0x47e690
mov dword [esp + 0x50], edi
mov eax, 9
xor ecx, ecx
mov bl, byte [esp + 0x6a]
jmp 0x47fa7d
mov dword [esp], edi
call fcn.00430350
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x47e6ed
nop word [eax + eax]
mov esi, 0x11
mov dword [esp], edi
call fcn.00430370
mov eax, dword [eax + 0x40]
cmp eax, 1
je 0x47e703
cmp eax, 2
je 0x47e720
mov ecx, 0xc
cmp eax, 3
je 0x47e767
mov dword [esp], edi
call fcn.004303a0
mov dword [esp], edi
call fcn.00430350
test eax, eax
jne 0x47e6d7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x47e690
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], edi
mov byte [esp + 0x4b], 0x78
jmp 0x47ea98
mov dword [esp + 0x50], edi
mov ebx, 0xc
mov dword [esp + 0x58], 0
jmp 0x47fea2
mov dword [esp + 0x50], edi
mov byte [esp + 0x4b], 0x78
mov dword [esp + 0x58], 0x7000004e
mov edi, dword [esp + 0x128]
jmp 0x47f3d9
mov byte [esp + 0x4b], 0x78
mov esi, 0xd
mov dword [esp], edi
mov dword [esp + 0x50], edi
call fcn.004303e0
mov dword [esp + 0x58], 0x7000004e
mov dword [esp + 0x104], 0x70000040
mov bl, byte [esp + 0xa3]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0xf8]
jmp 0x47dd10
mov dword [esp + 0x50], edi
mov byte [esp + 0x4b], 0x78
mov dword [esp + 0x58], 0x7000004e
jmp 0x47ee3c
mov dword [esp + 0xbc], edx
mov dword [esp + 0xfc], ecx
mov bl, 0x1b
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.004353f0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x6c]
xor eax, dword [edx + 4]
mov edx, dword [edx]
xor edx, ecx
or edx, eax
jne 0x47e7d8
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x47e7d8
mov esi, 0x18
mov dword [esp + 0x104], 0x70000032
mov bl, byte [esp + 0x69]
mov ecx, dword [esp + 0x64]
jmp 0x47ef6e
mov esi, 4
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.0041d2b0
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.0041d2a0
test eax, eax
jne 0x47e89f
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xbc]
je 0x47d900
movzx eax, bl
cmp eax, 0x1b
je 0x47e77d
cmp eax, 0x61
jne 0x47e875
mov dword [esp + 0xbc], edx
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.004353f0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x6c]
xor eax, dword [edx + 4]
mov edx, dword [edx]
xor edx, ecx
or edx, eax
je 0x47e8b2
mov bl, 0x4b
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x47e7d8
jmp 0x47e8b2
mov dword [esp + 0xbc], edx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x104], 0x70000032
mov eax, 7
mov ecx, dword [esp + 0x80]
jmp 0x47f389
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xbc]
jmp 0x47d900
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + 0x60]
and eax, 0xfffffffe
cmp eax, 2
jne 0x47e909
mov al, 0x20
movzx eax, al
cmp eax, 0x31
jne 0x47e927
mov al, 0x6e
mov ecx, dword [ecx + 0x1a8]
cmp ecx, 2
jne 0x47e93d
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov dword [esp + 0x104], 0x70000042
jne 0x47eaaf
jmp 0x47e98d
mov dword [esp + 0x104], 0x70000010
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
jmp 0x47eaaf
mov dword [esp + 0x128], edi
mov eax, 0x10
mov edx, 0x70000010
jmp 0x480fdf
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
jmp 0x47e98d
mov al, 0x6e
mov dword [esp + 0x120], ecx
mov ecx, dword [ecx + 0x1a8]
cmp ecx, 2
jne 0x47e986
mov byte [esp + 0x127], bh
mov edx, ecx
and edx, 1
xor edx, ecx
not edx
mov dword [esp + 0x104], 0x70000042
test edx, edx
jne 0x47eaaf
jmp 0x47e98d
mov byte [esp + 0x127], bh
movzx eax, al
cmp eax, 0x1f
je 0x47e9ef
cmp eax, 0x7e
jne 0x47ea24
mov bl, 2
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004b0080
test eax, eax
je 0x47ff5e
mov eax, 0x16
mov dword [esp + 0x104], 0x7000004f
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x128]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
mov ebx, dword [esp + 0x10c]
jmp 0x47f646
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004b0080
test eax, eax
jne 0x47ea3d
mov dword [esp + 0x104], 0x7000004f
mov bl, 2
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x47ff5e
jmp 0x47eaaf
mov dword [esp + 0x104], 0x70000042
mov eax, 0xd
mov dl, byte [esp + 0x6b]
jmp 0x47ff2c
mov dword [esp + 0x104], 0x7000004f
jmp 0x47eaaf
cmp dword [ecx + 0x9c], 0
mov edx, ecx
je 0x48000a
mov dword [esp + 0x120], edx
mov eax, 5
mov dword [esp + 0x104], 0x70000010
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x128]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
mov ebx, dword [esp + 0x10c]
jmp 0x47f54a
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004303e0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xa88]
test eax, eax
je 0x47ebe5
mov dword [esp + 0x4c], eax
mov byte [esp + 0x5e], 0x1a
mov byte [esp + 0xc3], 0x3f
mov eax, 0x12
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xa4], ecx
jne 0x48105e
cmp eax, 7
jne 0x47eb00
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x48009a
movzx eax, byte [esp + 0x5e]
cmp eax, 0x1a
je 0x47ec09
cmp eax, 0x3c
jne 0x47ec1f
mov ebx, 0xc
mov byte [esp + 0x5e], 0x1a
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0041d2e0
mov ecx, dword [esp + 0xfc]
mov esi, 3
cmp ebx, 0xc
jne 0x47eb55
mov eax, 3
sub eax, ebx
xor eax, ebx
je 0x47eb55
mov dword [esp + 0xfc], ecx
jmp 0x48105e
mov ebx, 2
mov byte [esp + 0x9b], 0x68
mov byte [esp + 0xbb], 0x2d
mov eax, dword [esp + 0x120]
lea edx, [eax + 0x68]
lea eax, [esp + 0xa64]
mov dword [esp], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 9
mov dword [esp + 0xfc], ecx
call fcn.00486290
mov dword [esp + 0xf0], eax
test eax, eax
mov edi, dword [esp + 0x128]
jne 0x47f4e2
jmp 0x4802e3
mov dword [esp + 0x4c], eax
mov byte [esp + 0x5e], 0x1a
mov byte [esp + 0xc3], 0x3f
mov eax, dword [esp + 0x104]
mov dword [esp + 0xa4], eax
jmp 0x48105e
mov byte [esp + 0x5e], 0x3c
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0041d2e0
jmp 0x48105e
mov esi, 0xd
mov byte [esp + 0x5e], 0x4c
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0041d2e0
mov bl, byte [esp + 0x4b]
mov eax, dword [esp + 0x104]
jmp 0x4811d7
mov eax, 0xe
mov byte [esp + 0xc3], 0x3f
mov cl, 0x59
mov esi, dword [esp + 0xa4]
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
cmp esi, edx
je 0x4804ee
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
mov ecx, dword [esp + 0x120]
cmp eax, 0xe
je 0x47eca5
imul eax, eax
and eax, 3
cmp eax, 3
je 0x47eca5
mov dword [esp + 0x120], ecx
jmp 0x48109c
mov byte [esp + 0x127], bh
mov edx, dword [esp + 0xa4]
jmp 0x4806bd
mov ebx, 0xf
mov byte [esp + 0x57], 0x50
mov byte [esp + 0x8f], 0x59
mov dword [esp + 0x12c], 0
mov eax, dword [esp + 0x120]
lea eax, [eax + 0x10]
mov dword [esp], eax
call fcn.0042abf0
mov dword [esp + 0xcc], eax
test eax, eax
jne 0x47dfcb
mov dword [esp + 0x130], 0x70000007
mov dword [esp + 0xc8], 0x70000007
jmp 0x47eeb8
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 0x318]
mov ecx, dword [edx + 0x31c]
lea edx, [edx + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x10], 1
call fcn.005a9e50
test eax, eax
je 0x47ed69
mov byte [esp + 0x8f], 0x54
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dword [esp + 0x90], eax
jne 0x47ee8f
jmp 0x47ed78
mov dword [esp + 0x90], eax
mov byte [esp + 0x8f], 0x54
mov ebx, 0xa
lea esi, [esp + 0x12c]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xca0]
add edi, 0xffffffe8
lea eax, [eax + 0xca4]
mov dword [esp], eax
call fcn.007ca940
add eax, 0x18
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0x21
call fcn.0064be40
test eax, eax
je 0x47edd8
cmp ebx, 0xa
je 0x47edff
mov dword [esp + 0xe8], esi
xor eax, eax
test al, al
je 0x47ef16
jmp 0x47f767
mov al, 0x54
movzx eax, al
cmp eax, 0x36
je 0x47ee0b
cmp eax, 0x5a
jne 0x47ee59
lea eax, [esp + 0x12c]
mov dword [esp + 0xe8], eax
mov eax, 5
jmp 0x47faf1
mov dword [esp + 0xe8], esi
jmp 0x47f767
lea eax, [esp + 0x12c]
mov dword [esp + 0xe8], eax
mov ecx, 0x12
mov byte [esp + 0xa2], 0x4a
mov al, 0x47
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x7c], edx
cmp dword [edx], 0
je 0x47fb27
cmp ecx, 0xc
jne 0x481074
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x47ea98
jmp 0x481074
lea eax, [esp + 0x12c]
mov dword [esp + 0xe8], eax
mov ecx, 2
mov byte [esp + 0xa2], 0x4a
mov al, 0x47
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x7c], edx
cmp dword [edx], 0
jne 0x481142
jmp 0x47fb27
mov eax, 0x17
mov ecx, dword [esp + 0x90]
or ecx, 0x70000000
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x130], ecx
cmp eax, 9
je 0x47feb5
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x114], eax
jmp 0x47f042
mov byte [esp + 0xa2], 0x4a
mov eax, dword [edi + 0x18]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x12c]
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0x12c]
mov dword [eax + 0x14], 0
mov esi, 0x10
mov bl, 0x26
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x21
call fcn.00458d20
mov ecx, dword [esp + 0x12c]
test ecx, ecx
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
je 0x47ef9e
cmp esi, 0x10
je 0x47ef8a
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x47ef8a
mov dword [esp + 0x64], ecx
mov byte [esp + 0x69], bl
jmp 0x47e8b2
mov dword [esp], ecx
mov dword [esp + 4], 0x21
mov esi, ecx
call fcn.0064bf00
mov ecx, esi
movzx eax, bl
cmp eax, 0x26
jne 0x47efcd
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov dword [esp + 0x64], ecx
mov byte [esp + 0x69], 0x38
mov dword [esp + 0x12c], 0
jmp 0x47f767
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov dword [esp + 0x64], ecx
mov ecx, 0x10
mov byte [esp + 0x69], 0x26
mov dword [esp + 0x12c], 0
jmp 0x47f754
mov byte [esp + 0x6a], bl
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x11c], eax
movzx eax, byte [esp + 0x11b]
cmp eax, 0x1f
je 0x47f073
cmp eax, 0x76
jne 0x47f10d
mov byte [esp + 0x11b], 0x1f
jmp 0x47f115
mov esi, 0x10
mov byte [esp + 0x11b], 0x79
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov edi, eax
mov dword [esp], edi
call fcn.004582b0
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x21
call fcn.00458d20
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
cmp esi, 5
je 0x47eaaf
xor eax, eax
test al, al
je 0x47f791
jmp 0x47eaaf
mov byte [esp + 0x11b], 0x76
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov esi, eax
mov dword [esp], esi
call fcn.004582b0
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x21
call fcn.00458d20
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0xd4], eax
jmp 0x47f791
mov byte [esp + 0xe3], 0x2a
call fcn.005aece0
mov eax, dword [esp + 0xa64]
test eax, eax
je 0x47f2f3
mov dword [esp + 0x70], eax
imul eax, eax
and eax, 3
cmp eax, 2
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
je 0x47f332
mov byte [esp + 0xd3], 0x44
mov esi, 0xc
mov bl, 0xa
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xac], eax
jmp 0x481107
mov dword [esp + 0x70], eax
mov byte [esp + 0xd3], 0x44
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
jmp 0x47f35d
mov byte [esp + 0xd3], 0x44
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0xe3]
cmp eax, 0x2a
jne 0x47f3a5
mov dword [esp + 0x100], ecx
mov eax, 0x16
mov byte [esp + 0xe3], 0x2a
mov ecx, dword [esp + 0xa6c]
test ecx, ecx
jne 0x47f3f0
cmp eax, 7
je 0x47f404
imul eax, eax
and eax, 3
cmp eax, 3
je 0x47f404
mov dword [esp + 0x80], ecx
jmp 0x47f49f
mov eax, dword [esp + 0xa6c]
test eax, eax
je 0x47f489
mov dword [esp + 0x100], ecx
mov dword [esp + 0x80], eax
mov byte [esp + 0xe3], 0x7e
mov esi, 7
xor eax, eax
test al, al
jne 0x47f49f
cmp esi, 7
jne 0x47f44a
mov eax, 3
sub eax, esi
xor eax, esi
je 0x47f44a
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], ecx
mov dword [esp], ecx
call fcn.004936c0
jmp 0x47f49f
mov dword [esp + 0x80], ecx
mov bl, 0x61
mov eax, dword [esp + 0xa88]
mov dword [esp], eax
call fcn.004353f0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x6c]
xor eax, dword [edx + 4]
mov edx, dword [edx]
xor edx, ecx
or edx, eax
jne 0x47e7d8
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x47e8b2
jmp 0x47e7d8
mov al, byte [esp + 0x4b]
movzx edx, al
cmp edx, 0x35
je 0x47f8aa
cmp edx, 0x36
je 0x47f8f3
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov eax, 0xc
mov ecx, 0x16
cmp edx, 0x78
jne 0x4811a5
jmp 0x480154
mov dword [esp + 0x100], ecx
mov dword [esp + 0x80], eax
mov byte [esp + 0xe3], 0x7e
mov bl, 0x3a
mov eax, dword [esp + 0xa70]
test eax, eax
jne 0x47f4b9
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x47f4c1
mov dword [esp], eax
call fcn.004936c0
movzx eax, bl
cmp eax, 0x27
je 0x47f58a
mov byte [esp + 0x127], bh
mov esi, 0xb
cmp eax, 0x3a
jne 0x47f5c9
cmp esi, 3
jne 0x47f5e8
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x47f5e8
movzx ecx, byte [esp + 0xbb]
cmp ecx, 0x2d
je 0x47f615
mov eax, 0x14
cmp ecx, 0x72
jne 0x47f686
mov eax, 0x14
mov byte [esp + 0xbb], 0x10
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x130], ecx
xor edx, edx
mov esi, ecx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x11c], 0
cmp eax, 5
jne 0x47f882
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], edx
mov dword [esp + 0x128], edi
mov dword [esp + 0xf0], ecx
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x47eaaf
jmp 0x47f050
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov eax, 0x13
mov edx, dword [esp + 0xa74]
test edx, edx
jne 0x47f844
mov esi, 0x17
mov ecx, 3
sub ecx, edx
xor ecx, edx
mov dword [esp + 0x74], edx
jne 0x47fc5c
jmp 0x47f848
mov dword [esp + 0x128], edi
mov eax, dword [esp + 0xa74]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x47f85c
jmp 0x47f90b
mov dword [esp + 0x128], edi
mov ecx, dword [esp + 0xa74]
test ecx, ecx
je 0x47f879
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x74], ecx
jne 0x47f85c
jmp 0x47f90b
mov eax, 7
mov byte [esp + 0xbb], 0x2d
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x130], ecx
xor edx, edx
mov esi, ecx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], edx
mov dword [esp + 0x128], edi
cmp eax, 7
jne 0x47f86d
mov dword [esp + 0xf0], ecx
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x47f050
jmp 0x47eaaf
mov dword [esp + 0x128], edi
cmp eax, 9
jne 0x47f6a1
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x480330
mov edx, 6
mov byte [esp + 0xbb], 0x72
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0xb4]
cmp edx, 6
jne 0x47f706
mov dword [esp + 0xb4], eax
mov dword [esp + 0xf0], ecx
jmp 0x47f050
mov dword [esp + 0xf0], ecx
mov dword [esp], eax
mov dword [esp + 0xb4], eax
call fcn.007aee60
mov dword [esp], eax
mov dword [esp + 4], 0x7d6932
call fcn.007c58b0
mov dword [esp + 0x108], 0x7000003b
test eax, eax
jne 0x48009a
mov ecx, 0xe
mov edx, eax
or edx, 2
xor eax, 2
add eax, edx
je 0x48009a
cmp ecx, 0xe
je 0x47dec2
xor eax, eax
test al, al
jne 0x47dec2
mov eax, dword [esp + 0x120]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0xd3]
cmp eax, 0x44
jne 0x47f287
mov esi, 0xe
mov byte [esp + 0xe3], 0x2a
call fcn.005aece0
mov eax, dword [esp + 0xa64]
mov dword [esp + 0x70], eax
test eax, eax
mov edx, dword [esp + 0xd4]
je 0x47f80d
mov byte [esp + 0xd3], 0x53
mov bl, 0xa
xor eax, eax
test al, al
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
je 0x4810b4
jmp 0x4809e0
mov byte [esp + 0xd3], 0x53
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x94], eax
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
jmp 0x4809e0
mov dword [esp + 0x74], edx
cmp eax, 3
jne 0x47f85c
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x4800df
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004936c0
jmp 0x47f90b
mov dword [esp + 0xf0], ecx
jmp 0x47eaaf
mov dword [esp + 0x74], ecx
jmp 0x47f90b
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], edx
mov dword [esp + 0x128], edi
mov dword [esp + 0xf0], ecx
jmp 0x47f050
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov esi, 5
mov byte [esp + 0x4b], 0x6d
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004303e0
mov dword [esp + 0x104], 0x70000034
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
jmp 0x47f0e0
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov byte [esp + 0x4b], 0x36
jmp 0x480169
mov eax, dword [esp + 0x138]
test eax, eax
jne 0x47f92e
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x47f92e
mov byte [esp + 0xc2], 0x41
jmp 0x481232
mov byte [esp + 0xc2], 0x41
mov cl, 0x3f
movzx ecx, cl
cmp ecx, 0x3f
je 0x47f9a6
cmp ecx, 0x58
je 0x47f9ce
cmp ecx, 0x73
jne 0x47f9f6
mov esi, 0x10
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov bh, byte [esp + 0xd3]
mov ecx, dword [esp + 0x9c]
mov al, byte [esp + 0x11b]
mov edx, dword [esp + 0xa8]
mov bl, byte [esp + 0xe3]
mov edi, dword [esp + 0x80]
mov ah, 0x41
jmp 0x47d73e
mov esi, 0xd
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
jmp 0x481229
mov esi, 5
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
jmp 0x48013e
mov dword [esp], eax
call fcn.00689a80
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
jmp 0x481232
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.0041d160
mov bl, 0x5c
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x47fa5c
xor ecx, ecx
test cl, cl
jne 0x47fa5c
movzx ecx, bl
cmp ecx, 0x5c
je 0x47fa4c
cmp ecx, 0x74
jne 0x47fcd8
mov dword [esp], eax
mov dword [esp + 4], 0x20
call fcn.0064bf00
movzx ecx, bl
cmp ecx, 0x1c
je 0x47fabe
mov eax, 0x17
cmp ecx, 0x48
jne 0x47fc8c
mov ecx, dword [esp + 0x58]
mov bh, byte [esp + 0x127]
cmp eax, 9
je 0x47fcc4
xor eax, eax
test al, al
jne 0x47fcc4
mov byte [esp + 0x127], bh
mov dword [esp + 0x58], ecx
mov byte [esp + 0x6a], 0x48
mov dword [esp + 0x14c], 0
cmp dword [esp + 0x94], 0
jne 0x47fcfe
jmp 0x47fd0d
mov dword [esp + 0x14c], 0
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x47fcf9
mov byte [esp + 0x6a], 0x5c
mov eax, 9
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x47fcfe
cmp eax, 5
jne 0x47fd0d
mov byte [esp + 0xa2], 0x4a
mov al, 0x47
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ecx]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x481074
mov ecx, 0x14
movzx eax, al
cmp eax, 0x6d
jne 0x47fc79
mov byte [esp + 0x150], 0
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004117f0
mov eax, dword [esp + 0x12c]
mov dword [eax], 0
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.004936c0
lea eax, [esp + 0x250]
mov esi, eax
mov dword [esp], esi
call fcn.00493b90
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x10], eax
mov dword [esp], esi
call fcn.007c3e70
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
mov eax, dword [esp + 0x12c]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x128]
mov ebx, dword [ebx]
lea eax, [esp + 0x150]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov esi, 0x10
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov edi, dword [ebp + 8]
mov ecx, edi
mov edx, ebx
call fcn.004813f0
mov eax, dword [esp + 0x12c]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call fcn.004936c0
lea edi, [esp + 0x150]
mov dword [esp], edi
call fcn.004938e0
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x18], eax
mov dword [esp], edi
call fcn.007c3e70
mov ecx, dword [esp + 0x12c]
mov dword [ecx + 0x14], eax
cmp esi, 0x10
jne 0x47f90b
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x47ef16
jmp 0x47f90b
mov ebx, dword [esp + 0xe4]
mov eax, dword [esp + 0x11c]
jmp 0x47e23e
mov eax, 0xb
mov byte [esp + 0x6a], 0x1c
mov dword [esp + 0x14c], 0
cmp dword [esp + 0x94], 0
je 0x47fd0d
cmp eax, 0xb
jne 0x47eaaf
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x47fcfe
jmp 0x47eaaf
mov byte [esp + 0x6a], bl
mov byte [esp + 0x127], bh
mov dword [esp + 0x58], ecx
jmp 0x47ea98
mov esi, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0x20
call fcn.0064bf00
mov bh, byte [esp + 0x127]
jmp 0x47fd81
mov byte [esp + 0x6a], 0x5c
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.00429990
cmp dword [esp + 0xac], 0
jne 0x47fd2a
mov ecx, dword [esp + 0xac]
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
jne 0x47fda8
mov al, 0x2e
movzx eax, al
cmp eax, 0x14
je 0x47fd57
cmp eax, 0x2e
je 0x47fd70
cmp eax, 0x4c
mov eax, dword [esp + 0xac]
je 0x47fd77
mov esi, 0xe
mov dword [esp], eax
call fcn.004936c0
jmp 0x48050b
mov esi, 2
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004936c0
jmp 0x48086a
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.004936c0
jmp 0x47fda8
cmp esi, 0xc
je 0x47fd9c
mov byte [esp + 0x127], bh
xor eax, eax
test al, al
je 0x47f014
jmp 0x47fa5c
mov byte [esp + 0x127], bh
jmp 0x47fa5c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459aa0
call fcn.005ae190
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x78], eax
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x47fe16
mov byte [esp + 0x11b], 0x1f
mov byte [esp + 0xd3], 0x53
mov byte [esp + 0xa3], 0x25
mov byte [esp + 0x6b], 0xa
mov eax, 9
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
jne 0x47eeaf
jmp 0x47dba2
mov byte [esp + 0x11b], 0x1f
mov byte [esp + 0xd3], 0x53
mov byte [esp + 0xa3], 0x25
mov byte [esp + 0x6b], 0xa
jmp 0x47dba2
mov ebx, 0xb
mov byte [esp + 0x6b], 0x31
mov byte [esp + 0xd3], 0x53
mov byte [esp + 0x11b], 0x1f
mov byte [esp + 0xa3], 0x25
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459aa0
call fcn.005ae190
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x47fe9e
mov dword [esp + 0x78], ecx
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x47dba2
jmp 0x47fea2
mov dword [esp + 0x78], ecx
cmp ebx, 0xb
je 0x47feb5
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
jne 0x47ea98
movzx eax, byte [esp + 0xa3]
cmp eax, 0x25
mov esi, dword [esp + 0x78]
je 0x47daa3
mov eax, 2
mov bl, 0x68
mov ecx, dword [esi + 8]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
jne 0x47dbde
mov byte [esp + 0xa3], 0x68
mov ebx, dword [esp + 0x9c]
jmp 0x480045
mov eax, 0x17
mov dl, byte [esp + 0x6b]
movzx ecx, dl
cmp ecx, 0xa
je 0x47ff2c
mov eax, 2
cmp ecx, 0x5f
jne 0x47fdb0
mov edi, dword [esp + 0x128]
jmp 0x480313
cmp eax, 0xd
jne 0x47fe38
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x47fe38
mov byte [esp + 0x6b], dl
mov bl, 2
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004b0080
test eax, eax
jne 0x47ffc0
movsx eax, bl
cmp eax, 0x25
jg 0x47ff93
movzx eax, bl
cmp eax, 0x11
je 0x47ffdc
cmp eax, 0x18
mov ecx, dword [esp + 0x120]
jne 0x47ea4a
mov eax, dword [ecx + 0x9c]
mov edx, ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jmp 0x47fff1
movzx eax, bl
cmp eax, 0x26
je 0x47ffdc
cmp eax, 0x43
mov ecx, dword [esp + 0x120]
jne 0x47ea4a
mov eax, dword [ecx + 0x9c]
mov edx, ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jmp 0x47fff1
mov eax, 0xb
mov dword [esp + 0x104], 0x7000004f
mov dl, byte [esp + 0x8f]
jmp 0x48049d
mov edx, dword [esp + 0x120]
mov eax, dword [edx + 0x9c]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x104], 0x70000010
cmp eax, ecx
jne 0x47eaaf
mov dword [esp + 0x120], edx
mov eax, 0xa
mov ecx, dword [edx + 0x1ac]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sete dl
movzx edx, dl
mov dword [esp + 0x104], 0x70000045
cmp ecx, edx
je 0x47eaaf
jmp 0x47e43c
cmp eax, 2
jne 0x47e086
mov dword [esp + 0x9c], ebx
jmp 0x47dba2
mov dword [esp + 0x128], edi
mov byte [esp + 0x5f], 0x1f
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], str.hasp
call fcn.006492a0
test eax, eax
mov dword [esp + 0x108], 0x7000003b
je 0x48009a
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x47dd9f
mov esi, 5
mov eax, dword [esp + 0xa84]
mov ecx, dword [esp + 0xa80]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0049b5b0
mov eax, dword [esp + 0x108]
mov dword [esp + 0xf8], eax
cmp esi, 5
jne 0x47ee8f
mov eax, 3
sub eax, esi
xor eax, esi
je 0x47ee8f
mov ecx, 0x10
mov al, byte [esp + 0xa1]
movzx edx, al
cmp edx, 0x26
je 0x480154
mov eax, 2
cmp edx, 0x40
jne 0x4801ad
mov ecx, dword [esp + 0xf8]
mov al, 8
test ecx, ecx
je 0x48021f
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa1], 0x48
mov esi, 0x15
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0xc4], ecx
je 0x480235
cmp esi, 5
jne 0x4801c1
mov eax, 3
sub eax, esi
xor eax, esi
jne 0x481232
jmp 0x4801c1
cmp ecx, 0x10
je 0x480185
imul ecx, ecx
and ecx, 3
cmp ecx, 2
je 0x480185
mov byte [esp + 0x4b], 0x78
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004303e0
mov dword [esp + 0x104], 0x70000034
jmp 0x47eaaf
mov eax, 0x11
mov byte [esp + 0xa1], 0x26
mov cl, 8
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xf8]
test ecx, ecx
mov dword [esp + 0xc4], ecx
jne 0x4801c1
cmp eax, 2
je 0x47df88
xor eax, eax
test al, al
je 0x480235
jmp 0x47df88
mov esi, 0xb
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x130], eax
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x11c], 0
mov ebx, dword [esp + 0xe4]
cmp esi, 0xb
jne 0x47e10d
mov dword [esp + 0xc4], eax
mov dword [esp + 0xe4], ebx
jmp 0x47f050
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa1], 0x48
mov dword [esp + 0xc4], ecx
mov eax, 9
mov ebx, dword [esp + 0x9c]
test bl, bl
je 0x480045
mov ecx, 4
movzx edx, bl
cmp edx, 6
je 0x47e034
cmp edx, 8
jne 0x47dfe7
jmp 0x4808a7
mov byte [esp + 0x5f], 0x25
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], str.hasp
call fcn.006492a0
test eax, eax
jne 0x4802ac
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x4802b8
mov eax, 0xb
mov dword [esp + 0x108], 0x7000003b
mov bh, byte [esp + 0x127]
jmp 0x4810e2
mov dword [esp + 0x128], edi
jmp 0x47dd9f
mov dword [esp + 0x128], edi
jmp 0x47dd9f
mov al, byte [esp + 0x5f]
movzx ecx, al
cmp ecx, 0x1f
je 0x48005a
mov eax, 7
mov ebx, 0xe
cmp ecx, 0x25
jne 0x480313
cmp ebx, 2
jne 0x47dd54
mov dword [esp + 0x128], edi
mov eax, 5
movzx ecx, byte [esp + 0x9b]
cmp ecx, 0x68
mov ecx, 5
jne 0x481249
jmp 0x4811ff
cmp eax, 2
jne 0x480268
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x47da32
jmp 0x480268
movzx eax, byte [esp + 0xb3]
cmp eax, 0x17
jne 0x48036b
mov byte [esp + 0xb3], 0x65
mov dword [esp + 0x130], 0x70000010
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0x70000010
jmp 0x47dbc3
mov eax, 0xa
mov byte [esp + 0xb3], 0x17
mov dword [esp + 0x130], 0x70000010
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0x70000010
mov dword [esp + 0x114], 0
mov dword [esp + 0x11c], 0
jmp 0x48121b
mov eax, dword [ebp + 8]
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov edx, dword [esi]
setne cl
movzx ecx, cl
add edx, 0xc
mov dword [esp + 0xec], edx
cmp eax, ecx
mov esi, 0xd
mov byte [esp + 0x9b], 0x21
mov al, 5
mov dword [esp + 0xa8], eax
je 0x480985
mov eax, 0xd
mov esi, dword [esp + 0xec]
mov ecx, dword [esi]
mov dword [esp + 0x84], ecx
mov dl, byte [esp + 0xa2]
mov edi, dword [esp + 0x7c]
cmp eax, 0xb
jne 0x48047f
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x48047f
mov dword [esp + 0xec], esi
mov esi, 0xf
mov byte [esp + 0xa2], 0x5d
mov eax, dword [edi + 0x18]
mov dword [esp + 0x7c], edi
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x12c]
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0x12c]
mov dword [eax + 0x14], 0
cmp esi, 0xe
je 0x480330
xor eax, eax
test al, al
je 0x47ef16
jmp 0x480330
mov dword [esp + 0x7c], edi
mov byte [esp + 0xa2], dl
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x84]
jmp 0x47e40e
mov esi, dword [ebp + 8]
cmp eax, 2
je 0x47ed11
imul eax, eax
and eax, 3
cmp eax, 3
je 0x47ed11
mov byte [esp + 0x8f], dl
jmp 0x47eaaf
mov cl, 0x59
mov edx, dword [esp + 0xa4]
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp edx, eax
jne 0x4806a7
mov byte [esp + 0xc3], 0x54
mov ebx, 0x14
mov esi, 9
movzx eax, cl
cmp eax, 0x59
mov edi, dword [esp + 0x128]
jne 0x480687
cmp esi, 9
jne 0x47fda8
mov dword [esp + 0x38], 0x17
mov byte [esp + 0x127], 0x73
mov byte [esp + 0x57], 0x4e
mov dword [esp + 4], 1
mov dword [esp], 0x800
call fcn.00493840
mov ebx, eax
mov dword [esp + 0xf4], ebx
mov edi, dword [esp + 0x120]
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x30], eax
lea eax, [edi + 8]
mov dword [esp + 0x128], eax
mov esi, dword [edi + 8]
mov eax, dword [esp + 0xa6c]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xb8c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0xf0
call fcn.0043cd60
call fcn.0044c040
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
lea eax, [esp + 0xc8c]
mov dword [esp], eax
mov dword [esp + 4], 0x40
call fcn.004969c0
lea eax, [esp + 0xa8c]
mov dword [esp], eax
mov dword [esp + 4], 0x100
call fcn.00454a70
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
lea eax, [esp + 0xb8c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xc8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xa8c]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 8], str._n_n_description__n___CDATA__n_h1_Rehosted_License__h1__n_table_cellpadding_0__cellspacing_0___n_tr__td_source_host__td__td__b__s__b___td___tr__n_tr__td_recipient_host__td__td__b__s__b___td___tr__n_tr__td_rehost_time__td__td__b__s_UTC__b___td___tr__n_tr__td_vendor__td__td__s__td___tr__n_tr__td_vendor_id__td__td__d__td___tr__n_tr__td_hasp_id__td__td__llu__td___tr__n__table__n____n__description__n
mov dword [esp + 4], 0x800
call fcn.0064a2d0
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
lea eax, [esp + 0x250]
mov dword [esp], eax
mov dword [esp + 8], str.___haspscope__n_____vendor_id__d___n_______hasp_id__llu____n_______vendor__n____haspscope__n_s
mov dword [esp + 4], 0x800
call fcn.0064a2d0
mov dword [esp], edi
call fcn.0040b670
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x88], edi
jne 0x480882
jmp 0x480b50
cmp ebx, 4
jne 0x480710
imul ebx, ebx
and ebx, 3
cmp ebx, 2
jae 0x480710
mov dword [esp + 0x128], edi
jmp 0x48009a
mov byte [esp + 0xc3], 0x54
mov edi, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x120], ecx
mov esi, 0x10
mov dword [esp + 0x130], edx
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], edx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x11c], 0
cmp esi, 0x10
jne 0x4802c4
mov dword [esp + 0x128], edi
jmp 0x47f050
mov byte [esp + 0x127], 0x73
mov byte [esp + 0x57], 0x4e
mov dword [esp + 4], 1
mov dword [esp], 0x800
call fcn.00493840
mov ebx, eax
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x120]
mov eax, dword [esi]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
lea eax, [esi + 8]
mov dword [esp + 0x128], eax
mov edi, dword [esi + 8]
mov eax, dword [esp + 0xa6c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xb8c]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 0xf0
call fcn.0043cd60
call fcn.0044c040
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
lea eax, [esp + 0xc8c]
mov dword [esp], eax
mov dword [esp + 4], 0x40
call fcn.004969c0
lea eax, [esp + 0xa8c]
mov dword [esp], eax
mov dword [esp + 4], 0x100
call fcn.00454a70
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
lea eax, [esp + 0xb8c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xc8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xa8c]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 8], str._n_n_description__n___CDATA__n_h1_Rehosted_License__h1__n_table_cellpadding_0__cellspacing_0___n_tr__td_source_host__td__td__b__s__b___td___tr__n_tr__td_recipient_host__td__td__b__s__b___td___tr__n_tr__td_rehost_time__td__td__b__s_UTC__b___td___tr__n_tr__td_vendor__td__td__s__td___tr__n_tr__td_vendor_id__td__td__d__td___tr__n_tr__td_hasp_id__td__td__llu__td___tr__n__table__n____n__description__n
mov dword [esp + 4], 0x800
call fcn.0064a2d0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
lea eax, [esp + 0x250]
mov dword [esp], eax
mov dword [esp + 8], str.___haspscope__n_____vendor_id__d___n_______hasp_id__llu____n_______vendor__n____haspscope__n_s
mov dword [esp + 4], 0x800
call fcn.0064a2d0
mov dword [esp], esi
call fcn.0040b670
test eax, eax
mov dword [esp + 0x88], esi
mov esi, 3
je 0x480b68
cmp esi, 2
je 0x47fda8
imul esi, esi
and esi, 3
cmp esi, 3
je 0x47fda8
mov al, byte [esp + 0x57]
movzx ecx, al
cmp ecx, 0x4e
je 0x480947
mov eax, 7
cmp ecx, 0x50
jne 0x47ecb8
mov ebx, dword [esp + 0x9c]
cmp eax, 7
je 0x4808f1
imul eax, eax
and eax, 3
cmp eax, 2
je 0x4808f1
mov eax, 9
mov cl, 8
mov dword [esp + 0x9c], ecx
mov byte [esp + 0xb3], 0x65
mov ecx, dword [esp + 0xa58]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
je 0x47e0aa
jmp 0x47f68d
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x57], 0x4e
mov byte [esp + 0x8f], 0x59
mov dword [esp + 0x12c], 0
mov eax, dword [esp + 0x120]
lea eax, [eax + 0x10]
mov dword [esp], eax
call fcn.0042abf0
test eax, eax
jne 0x481052
mov esi, 0xb
mov ecx, 3
sub ecx, eax
xor ecx, eax
mov dword [esp + 0xcc], eax
jne 0x480b31
jmp 0x48099c
mov esi, 0x1b
mov byte [esp + 0x57], 9
mov byte [esp + 0x8f], 0x59
mov dword [esp + 0x12c], 0
mov eax, dword [esp + 0x120]
lea eax, [eax + 0x10]
mov dword [esp], eax
call fcn.0042abf0
mov dword [esp + 0xcc], eax
test eax, eax
je 0x47ecf6
cmp esi, 0xd
je 0x47e3e2
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x47e3e2
mov eax, 2
mov dl, byte [esp + 0x8f]
movzx ecx, dl
cmp ecx, 0x12
je 0x48049d
cmp ecx, 0x54
je 0x480a74
mov esi, 0xc
cmp ecx, 0x59
jne 0x480ad9
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
mov ecx, dword [esp + 0x100]
cmp esi, 0xc
jne 0x47f35d
mov eax, esi
not eax
and eax, 1
add eax, esi
je 0x47f35d
mov dword [esp + 0x100], ecx
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
mov esi, 9
mov byte [esp + 0x8f], 0x12
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 0x318]
mov ecx, dword [edx + 0x31c]
lea edx, [edx + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x10], 1
call fcn.005a9e50
mov dword [esp + 0x90], eax
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x47ed78
jmp 0x4800c7
mov byte [esp + 0x8f], 0x59
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 0x318]
mov ecx, dword [edx + 0x31c]
lea edx, [edx + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x10], 1
call fcn.005a9e50
mov dword [esp + 0x90], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x47ed78
jmp 0x47ee8f
mov esi, 0x12
mov dword [esp + 0x38], 9
mov byte [esp + 0x8f], 0x51
mov edx, dword [esp + 0xcc]
mov eax, dword [edx + 0x318]
mov ecx, dword [edx + 0x31c]
lea edx, [edx + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x10], 1
call fcn.005a9e50
mov dword [esp + 0x90], eax
test eax, eax
jne 0x480b50
cmp esi, 0xb
jne 0x47ed78
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x47ecf6
mov ecx, dword [esp + 0x38]
cmp ecx, 9
jne 0x480b68
mov eax, ecx
not eax
and eax, 1
add eax, ecx
jne 0x47ee8f
movzx eax, byte [esp + 0x127]
cmp eax, 0x67
je 0x480bff
mov dword [esp + 0x104], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0xf4], eax
cmp esi, 3
jne 0x47f050
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x47ff01
jmp 0x47f050
cmp eax, 0xa
je 0x47e14f
mov eax, dword [esp + 0x60]
mov dword [eax], 0
lea eax, [esp + 0x250]
mov dword [esp + 0x140], eax
mov dword [esp], eax
call fcn.007c3e70
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov dword [esp + 0x13c], eax
mov byte [esp + 0x150], 0
mov ecx, dword [esp + 0xbc]
mov edi, dword [ecx]
mov ecx, dword [ebx]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xe4], ebx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x88]
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x128]
mov ecx, dword [ecx]
lea edx, [esp + 0x150]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov edi, dword [ebp + 8]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xa
mov dword [esp], 0
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x11c]
call fcn.00486290
lea eax, [esp + 0x150]
mov dword [esp + 0x148], eax
mov dword [esp], eax
call fcn.007c3e70
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], 0
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x10c], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x11c], eax
mov eax, 0x13
mov bh, byte [esp + 0x127]
mov edx, dword [esp + 0x104]
cmp eax, 0x10
je 0x47e94d
xor eax, eax
test al, al
jne 0x47e94d
mov dword [esp + 0x104], edx
mov dword [esp + 0x120], ecx
mov byte [esp + 0x127], bh
jmp 0x47f050
mov dword [esp + 0xcc], eax
jmp 0x48099c
movzx eax, byte [esp + 0xc3]
cmp eax, 0x54
je 0x4804c4
jmp 0x47ec45
mov eax, 0xb
mov dl, byte [esp + 0xa2]
movzx ecx, dl
cmp ecx, 0x5d
mov edi, dword [esp + 0x7c]
jne 0x47eee7
mov esi, dword [esp + 0xec]
jmp 0x480418
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x100]
jmp 0x47f35d
mov dword [esp + 0x100], ecx
mov eax, 0x15
movzx edx, bl
cmp edx, 0xa
je 0x4810e2
mov ecx, 5
cmp edx, 0x4d
je 0x481134
mov eax, 0x17
cmp edx, 0x5b
jne 0x47ec82
jmp 0x48109c
cmp eax, 0xb
je 0x481121
xor eax, eax
test al, al
jne 0x481121
mov esi, 1
mov bl, 0x5b
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004936c0
mov ecx, dword [esp + 0x100]
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
je 0x47f35d
jmp 0x4810b4
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
jmp 0x48009a
mov byte [esp + 0x127], bh
mov dword [esp + 0x128], edi
cmp ecx, 2
je 0x481074
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je 0x481074
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004936c0
mov edi, dword [esp + 0x128]
mov bh, byte [esp + 0x127]
mov ecx, dword [esp + 0x100]
jmp 0x47f35d
mov byte [esp + 0xc2], 0x14
cmp dword [esp + 0x100], 0
je 0x47fa28
mov eax, 0x1c
xor ecx, ecx
test cl, cl
jne 0x47fa28
cmp eax, 0xc
jne 0x47fa19
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x47fa19
mov esi, 0x15
mov bl, 0x35
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.004303e0
mov eax, 0x70000034
mov dword [esp + 0x104], eax
mov byte [esp + 0x4b], bl
cmp esi, 0xd
jne 0x47eaaf
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x48105e
jmp 0x47eaaf
cmp ecx, 5
je 0x4803b4
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x481180
jmp 0x4803b4
cmp eax, 1
jne 0x47f050
jmp 0x47fa19
cmp esi, 0xd
jne 0x47fa28
mov ecx, 8
mov eax, 2
movzx edx, byte [esp + 0xc2]
cmp edx, 0x41
je 0x4811ff
cmp eax, 2
jne 0x47e3a7
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x47e3a7
mov esi, 0xf
mov eax, 1
mov byte [esp + 0xc2], 0x41
cmp dword [esp + 0x100], 0
jne 0x48121b
jmp 0x481229