Function at 0x50a91b
Capabilities:
Enumerate pe sections

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea eax, [ebp - 0x128]
mov ebx, ecx
lea edi, [ebx + 0x220]
sub esp, 0x16c
mov dword [esp], eax
call fcn.00433e70
movq xmm1, qword [0x576458]
mov ecx, edi
movq qword [ebp - 0x130], xmm1
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov dword [ebx + 0x38], eax
lea eax, [ebp - 0x128]
mov dword [ebx + 0x3c], edx
mov dword [esp], eax
call fcn.00413120
sub esp, 4
test al, al
jne 0x50b315
lea ecx, [ebx + 0x1c0]
mov esi, dword [ebp - 0x124]
mov eax, dword [ebx + 0x224]
mov dword [ebp - 0x138], ecx
lea ecx, [ebx + 0x240]
cmp esi, 0xffffffff
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], ecx
lea ecx, [ebx + 0x2a8]
mov dword [ebp - 0x144], ecx
lea ecx, [ebx + 0x2e8]
mov dword [ebp - 0x140], ecx
je 0x50b330
mov edx, dword [ebp - 0x13c]
test edx, edx
js 0x50bba0
cmp eax, 0xffffffff
jne 0x50bba0
lea eax, [ebx + 0x178]
mov dword [esp + 8], 0x40
mov dword [ebp - 0x158], eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x50bba0
lea eax, [ebx + 0x50]
lea esi, [ebx + 0x1c0]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x13c], esi
neg ecx
and ecx, 0xf
je 0x50bfc2
movzx edx, byte [ebx + 0x50]
lea esi, [ebx + 0x1c1]
cmp ecx, 1
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x51]
mov byte [ebx + 0x1c0], dl
mov edx, esi
je 0x50bfb3
movzx edx, byte [ebx + 0x51]
lea esi, [ebx + 0x1c2]
cmp ecx, 2
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x52]
mov byte [ebx + 0x1c1], dl
mov edx, esi
je 0x50bfa4
movzx edx, byte [ebx + 0x52]
lea esi, [ebx + 0x1c3]
cmp ecx, 3
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x53]
mov byte [ebx + 0x1c2], dl
mov edx, esi
je 0x50bf95
movzx edx, byte [ebx + 0x53]
lea esi, [ebx + 0x1c4]
cmp ecx, 4
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x54]
mov byte [ebx + 0x1c3], dl
mov edx, esi
je 0x50bf86
movzx edx, byte [ebx + 0x54]
lea esi, [ebx + 0x1c5]
cmp ecx, 5
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x55]
mov byte [ebx + 0x1c4], dl
mov edx, esi
je 0x50bdbd
movzx edx, byte [ebx + 0x55]
lea esi, [ebx + 0x1c6]
cmp ecx, 6
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x56]
mov byte [ebx + 0x1c5], dl
mov edx, esi
je 0x50bdae
movzx edx, byte [ebx + 0x56]
lea esi, [ebx + 0x1c7]
cmp ecx, 7
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x57]
mov byte [ebx + 0x1c6], dl
mov edx, esi
je 0x50c112
movzx edx, byte [ebx + 0x57]
lea esi, [ebx + 0x1c8]
cmp ecx, 8
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x58]
mov byte [ebx + 0x1c7], dl
mov edx, esi
je 0x50c103
movzx edx, byte [ebx + 0x58]
lea esi, [ebx + 0x1c9]
cmp ecx, 9
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x59]
mov byte [ebx + 0x1c8], dl
mov edx, esi
je 0x50c1e4
movzx edx, byte [ebx + 0x59]
lea esi, [ebx + 0x1ca]
cmp ecx, 0xa
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5a]
mov byte [ebx + 0x1c9], dl
mov edx, esi
je 0x50c1d5
movzx edx, byte [ebx + 0x5a]
lea esi, [ebx + 0x1cb]
cmp ecx, 0xb
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5b]
mov byte [ebx + 0x1ca], dl
mov edx, esi
je 0x50c1c6
movzx edx, byte [ebx + 0x5b]
lea esi, [ebx + 0x1cc]
cmp ecx, 0xc
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5c]
mov byte [ebx + 0x1cb], dl
mov edx, esi
je 0x50c1b7
movzx edx, byte [ebx + 0x5c]
lea esi, [ebx + 0x1cd]
cmp ecx, 0xd
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5d]
mov byte [ebx + 0x1cc], dl
mov edx, esi
je 0x50c1a8
movzx edx, byte [ebx + 0x5d]
lea esi, [ebx + 0x1ce]
cmp ecx, 0xe
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5e]
mov byte [ebx + 0x1cd], dl
mov edx, esi
je 0x50c199
movzx edx, byte [ebx + 0x5e]
lea esi, [ebx + 0x1cf]
mov dword [ebp - 0x134], 0x51
mov dword [ebp - 0x138], esi
lea esi, [ebx + 0x5f]
mov byte [ebx + 0x1ce], dl
mov edx, esi
mov esi, 0x60
add eax, ecx
sub esi, ecx
add ecx, dword [ebp - 0x13c]
add eax, 0x10
movdqa xmm7, xmmword [eax - 0x10]
mov dword [ebp - 0x144], esi
mov esi, 5
movups xmmword [ecx], xmm7
add ecx, 0x10
cmp esi, 5
movdqa xmm2, xmmword [eax]
movups xmmword [ecx], xmm2
movdqa xmm3, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm3
movdqa xmm2, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm2
movdqa xmm3, xmmword [eax + 0x30]
movups xmmword [ecx + 0x30], xmm3
je 0x50bdea
movdqa xmm2, xmmword [eax + 0x40]
mov esi, dword [ebp - 0x134]
mov eax, dword [ebp - 0x138]
movups xmmword [ecx + 0x40], xmm2
mov ecx, edx
add ecx, 0x60
add eax, 0x60
sub esi, 0x60
cmp dword [ebp - 0x144], 0x60
je 0x50ad81
movzx edx, byte [ecx]
cmp esi, 1
mov byte [eax], dl
je 0x50ad81
movzx edx, byte [ecx + 1]
cmp esi, 2
mov byte [eax + 1], dl
je 0x50ad81
movzx edx, byte [ecx + 2]
cmp esi, 3
mov byte [eax + 2], dl
je 0x50ad81
movzx edx, byte [ecx + 3]
cmp esi, 4
mov byte [eax + 3], dl
je 0x50ad81
movzx edx, byte [ecx + 4]
cmp esi, 5
mov byte [eax + 4], dl
je 0x50ad81
movzx edx, byte [ecx + 5]
cmp esi, 6
mov byte [eax + 5], dl
je 0x50ad81
movzx edx, byte [ecx + 6]
cmp esi, 7
mov byte [eax + 6], dl
je 0x50ad81
movzx edx, byte [ecx + 7]
cmp esi, 8
mov byte [eax + 7], dl
je 0x50ad81
movzx edx, byte [ecx + 8]
cmp esi, 9
mov byte [eax + 8], dl
je 0x50ad81
movzx edx, byte [ecx + 9]
cmp esi, 0xa
mov byte [eax + 9], dl
je 0x50ad81
movzx edx, byte [ecx + 0xa]
cmp esi, 0xb
mov byte [eax + 0xa], dl
je 0x50ad81
movzx edx, byte [ecx + 0xb]
cmp esi, 0xc
mov byte [eax + 0xb], dl
je 0x50ad81
movzx edx, byte [ecx + 0xc]
cmp esi, 0xd
mov byte [eax + 0xc], dl
je 0x50ad81
movzx edx, byte [ecx + 0xd]
cmp esi, 0xe
mov byte [eax + 0xd], dl
je 0x50ad81
movzx ecx, byte [ecx + 0xe]
mov byte [eax + 0xe], cl
movzx eax, byte [ebx + 0xb0]
lea esi, [ebx + 0xd0]
movdqu xmm3, xmmword [ebx + 0xc0]
mov ecx, esi
mov dword [ebp - 0x134], esi
neg ecx
mov byte [ebx + 0x220], al
mov eax, dword [ebx + 0xb4]
and ecx, 0xf
movups xmmword [ebx + 0x230], xmm3
mov dword [ebx + 0x224], eax
mov eax, dword [ebx + 0xb8]
mov dword [ebx + 0x228], eax
mov eax, dword [ebx + 0xbc]
mov dword [ebx + 0x22c], eax
lea eax, [ebx + 0xb0]
je 0x50bddb
lea esi, [ebx + 0x241]
movzx edx, byte [ebx + 0xd0]
cmp ecx, 1
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd1]
mov byte [ebx + 0x240], dl
mov dword [ebp - 0x134], esi
je 0x50c040
lea esi, [ebx + 0x242]
movzx edx, byte [ebx + 0xd1]
cmp ecx, 2
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd2]
mov byte [ebx + 0x241], dl
mov dword [ebp - 0x134], esi
je 0x50c031
lea esi, [ebx + 0x243]
movzx edx, byte [ebx + 0xd2]
cmp ecx, 3
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd3]
mov byte [ebx + 0x242], dl
mov dword [ebp - 0x134], esi
je 0x50c022
lea esi, [ebx + 0x244]
movzx edx, byte [ebx + 0xd3]
cmp ecx, 4
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd4]
mov byte [ebx + 0x243], dl
mov dword [ebp - 0x134], esi
je 0x50c013
lea esi, [ebx + 0x245]
movzx edx, byte [ebx + 0xd4]
cmp ecx, 5
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd5]
mov byte [ebx + 0x244], dl
mov dword [ebp - 0x134], esi
je 0x50c004
lea esi, [ebx + 0x246]
movzx edx, byte [ebx + 0xd5]
cmp ecx, 6
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd6]
mov byte [ebx + 0x245], dl
mov dword [ebp - 0x134], esi
je 0x50bff5
lea esi, [ebx + 0x247]
movzx edx, byte [ebx + 0xd6]
cmp ecx, 7
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd7]
mov byte [ebx + 0x246], dl
mov dword [ebp - 0x134], esi
je 0x50c07c
lea esi, [ebx + 0x248]
movzx edx, byte [ebx + 0xd7]
cmp ecx, 8
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd8]
mov byte [ebx + 0x247], dl
mov dword [ebp - 0x134], esi
je 0x50c06d
lea esi, [ebx + 0x249]
movzx edx, byte [ebx + 0xd8]
cmp ecx, 9
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xd9]
mov byte [ebx + 0x248], dl
mov dword [ebp - 0x134], esi
je 0x50c0f4
lea esi, [ebx + 0x24a]
movzx edx, byte [ebx + 0xd9]
cmp ecx, 0xa
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xda]
mov byte [ebx + 0x249], dl
mov dword [ebp - 0x134], esi
je 0x50c0e5
lea esi, [ebx + 0x24b]
movzx edx, byte [ebx + 0xda]
cmp ecx, 0xb
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xdb]
mov byte [ebx + 0x24a], dl
mov dword [ebp - 0x134], esi
je 0x50c0d6
lea esi, [ebx + 0x24c]
movzx edx, byte [ebx + 0xdb]
cmp ecx, 0xc
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xdc]
mov byte [ebx + 0x24b], dl
mov dword [ebp - 0x134], esi
je 0x50c0c7
lea esi, [ebx + 0x24d]
movzx edx, byte [ebx + 0xdc]
cmp ecx, 0xd
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xdd]
mov byte [ebx + 0x24c], dl
mov dword [ebp - 0x134], esi
je 0x50c05e
lea esi, [ebx + 0x24e]
movzx edx, byte [ebx + 0xdd]
cmp ecx, 0xe
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xde]
mov byte [ebx + 0x24d], dl
mov dword [ebp - 0x134], esi
je 0x50c04f
lea esi, [ebx + 0x24f]
movzx edx, byte [ebx + 0xde]
mov dword [ebp - 0x138], 0x51
mov dword [ebp - 0x148], esi
lea esi, [ebx + 0xdf]
mov byte [ebx + 0x24e], dl
mov dword [ebp - 0x134], esi
mov esi, 0x60
sub esi, ecx
add ecx, 0x20
add eax, ecx
add edi, ecx
mov edx, esi
movdqa xmm3, xmmword [eax]
shr esi, 4
cmp esi, 5
movups xmmword [edi], xmm3
movdqa xmm4, xmmword [eax + 0x10]
movups xmmword [edi + 0x10], xmm4
movdqa xmm5, xmmword [eax + 0x20]
movups xmmword [edi + 0x20], xmm5
movdqa xmm6, xmmword [eax + 0x30]
movups xmmword [edi + 0x30], xmm6
movdqa xmm7, xmmword [eax + 0x40]
movups xmmword [edi + 0x40], xmm7
je 0x50b0df
movdqa xmm5, xmmword [eax + 0x50]
movups xmmword [edi + 0x50], xmm5
mov esi, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov eax, edx
and eax, 0xfffffff0
mov edi, dword [ebp - 0x148]
sub esi, eax
add ecx, eax
mov dword [ebp - 0x134], eax
add edi, eax
mov eax, esi
mov esi, dword [ebp - 0x134]
cmp edx, esi
je 0x50b1cb
movzx edx, byte [ecx]
cmp eax, 1
mov byte [edi], dl
je 0x50b1cb
movzx edx, byte [ecx + 1]
cmp eax, 2
mov byte [edi + 1], dl
je 0x50b1cb
movzx edx, byte [ecx + 2]
cmp eax, 3
mov byte [edi + 2], dl
je 0x50b1cb
movzx edx, byte [ecx + 3]
cmp eax, 4
mov byte [edi + 3], dl
je 0x50b1cb
movzx edx, byte [ecx + 4]
cmp eax, 5
mov byte [edi + 4], dl
je 0x50b1cb
movzx edx, byte [ecx + 5]
cmp eax, 6
mov byte [edi + 5], dl
je 0x50b1cb
movzx edx, byte [ecx + 6]
cmp eax, 7
mov byte [edi + 6], dl
je 0x50b1cb
movzx edx, byte [ecx + 7]
cmp eax, 8
mov byte [edi + 7], dl
je 0x50b1cb
movzx edx, byte [ecx + 8]
cmp eax, 9
mov byte [edi + 8], dl
je 0x50b1cb
movzx edx, byte [ecx + 9]
cmp eax, 0xa
mov byte [edi + 9], dl
je 0x50b1cb
movzx edx, byte [ecx + 0xa]
cmp eax, 0xb
mov byte [edi + 0xa], dl
je 0x50b1cb
movzx edx, byte [ecx + 0xb]
cmp eax, 0xc
mov byte [edi + 0xb], dl
je 0x50b1cb
movzx edx, byte [ecx + 0xc]
cmp eax, 0xd
mov byte [edi + 0xc], dl
je 0x50b1cb
movzx edx, byte [ecx + 0xd]
cmp eax, 0xe
mov byte [edi + 0xd], dl
je 0x50b1cb
movzx eax, byte [ecx + 0xe]
mov byte [edi + 0xe], al
mov ecx, dword [ebx + 0x138]
mov eax, dword [ebx + 0x130]
mov edx, dword [ebx + 0x134]
mov dword [ebx + 0x2a8], ecx
mov ecx, dword [ebx + 0x13c]
mov dword [ebx + 0x2a0], eax
mov dword [ebx + 0x2a4], edx
mov dword [ebx + 0x2ac], ecx
mov ecx, dword [ebx + 0x140]
mov dword [ebx + 0x2b0], ecx
mov ecx, dword [ebx + 0x144]
mov dword [ebx + 0x2b4], ecx
mov ecx, dword [ebx + 0x148]
mov dword [ebx + 0x2b8], ecx
mov ecx, dword [ebx + 0x14c]
mov dword [ebx + 0x2bc], ecx
mov ecx, dword [ebx + 0x150]
mov dword [ebx + 0x2c0], ecx
mov ecx, dword [ebx + 0x154]
mov dword [ebx + 0x2c4], ecx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x2c8], ecx
mov ecx, dword [ebx + 0x15c]
mov dword [ebx + 0x2cc], ecx
mov ecx, dword [ebx + 0x160]
mov dword [ebx + 0x2d0], ecx
mov ecx, dword [ebx + 0x164]
mov dword [ebx + 0x2d4], ecx
mov ecx, dword [ebx + 0x168]
mov dword [ebx + 0x2d8], ecx
mov ecx, dword [ebx + 0x16c]
mov dword [ebx + 0x2dc], ecx
mov ecx, dword [ebx + 0x170]
mov eax, dword [ebx + 0x174]
mov edi, dword [ebp - 0x140]
mov dword [ebx + 0x2e0], ecx
mov dword [ebx + 0x2e4], eax
mov eax, dword [ebx + 0x178]
mov dword [ebx + 0x2e8], eax
mov ebx, dword [ebp - 0x158]
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x30]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x3c]
mov dword [edi + 0x3c], eax
lea ecx, [ebp - 0x128]
call fcn.00412370
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
lea esi, [ebx + 0x244]
test eax, eax
mov dword [ebp - 0x148], esi
js 0x50bbac
lea eax, [ebx + 0x1c0]
lea esi, [ebx + 0x50]
neg eax
mov dword [ebp - 0x158], esi
and eax, 0xf
mov ecx, eax
je 0x50be6b
movzx eax, byte [ebx + 0x1c0]
cmp ecx, 1
lea esi, [ebx + 0x51]
mov byte [ebx + 0x50], al
lea eax, [ebx + 0x1c1]
je 0x50be5c
movzx eax, byte [ebx + 0x1c1]
cmp ecx, 2
lea esi, [ebx + 0x52]
mov byte [ebx + 0x51], al
lea eax, [ebx + 0x1c2]
je 0x50bf3b
movzx eax, byte [ebx + 0x1c2]
cmp ecx, 3
lea esi, [ebx + 0x53]
mov byte [ebx + 0x52], al
lea eax, [ebx + 0x1c3]
je 0x50bf2c
movzx eax, byte [ebx + 0x1c3]
cmp ecx, 4
lea esi, [ebx + 0x54]
mov byte [ebx + 0x53], al
lea eax, [ebx + 0x1c4]
je 0x50bf77
movzx eax, byte [ebx + 0x1c4]
cmp ecx, 5
lea esi, [ebx + 0x55]
mov byte [ebx + 0x54], al
lea eax, [ebx + 0x1c5]
je 0x50bf68
movzx eax, byte [ebx + 0x1c5]
cmp ecx, 6
lea esi, [ebx + 0x56]
mov byte [ebx + 0x55], al
lea eax, [ebx + 0x1c6]
je 0x50bf59
movzx eax, byte [ebx + 0x1c6]
cmp ecx, 7
lea esi, [ebx + 0x57]
mov byte [ebx + 0x56], al
lea eax, [ebx + 0x1c7]
je 0x50bf4a
movzx eax, byte [ebx + 0x1c7]
cmp ecx, 8
lea esi, [ebx + 0x58]
mov byte [ebx + 0x57], al
lea eax, [ebx + 0x1c8]
je 0x50bdcc
movzx eax, byte [ebx + 0x1c8]
cmp ecx, 9
lea esi, [ebx + 0x59]
mov byte [ebx + 0x58], al
lea eax, [ebx + 0x1c9]
je 0x50c08b
movzx eax, byte [ebx + 0x1c9]
cmp ecx, 0xa
lea esi, [ebx + 0x5a]
mov byte [ebx + 0x59], al
lea eax, [ebx + 0x1ca]
je 0x50c18a
movzx eax, byte [ebx + 0x1ca]
cmp ecx, 0xb
lea esi, [ebx + 0x5b]
mov byte [ebx + 0x5a], al
lea eax, [ebx + 0x1cb]
je 0x50c17b
movzx eax, byte [ebx + 0x1cb]
cmp ecx, 0xc
lea esi, [ebx + 0x5c]
mov byte [ebx + 0x5b], al
lea eax, [ebx + 0x1cc]
je 0x50c0b8
movzx eax, byte [ebx + 0x1cc]
cmp ecx, 0xd
lea esi, [ebx + 0x5d]
mov byte [ebx + 0x5c], al
lea eax, [ebx + 0x1cd]
je 0x50c0a9
movzx eax, byte [ebx + 0x1cd]
cmp ecx, 0xe
lea esi, [ebx + 0x5e]
mov byte [ebx + 0x5d], al
lea eax, [ebx + 0x1ce]
je 0x50c09a
movzx eax, byte [ebx + 0x1ce]
lea esi, [ebx + 0x5f]
mov dword [ebp - 0x148], 0x51
mov byte [ebx + 0x5e], al
lea eax, [ebx + 0x1cf]
mov edx, 0x60
sub edx, ecx
mov dword [ebp - 0x15c], edx
lea edx, [ebx + 0x1c0]
add edx, ecx
mov dword [ebp - 0x160], edx
mov edx, dword [ebp - 0x158]
add edx, ecx
mov ecx, dword [ebp - 0x160]
add edx, 0x10
movdqa xmm4, xmmword [ecx]
add ecx, 0x10
movaps xmmword [ebp - 0x158], xmm4
mov dword [ebp - 0x158], 5
movups xmmword [edx - 0x10], xmm4
movdqa xmm6, xmmword [ecx]
cmp dword [ebp - 0x158], 5
movups xmmword [edx], xmm6
movdqa xmm7, xmmword [ecx + 0x10]
movups xmmword [edx + 0x10], xmm7
movdqa xmm2, xmmword [ecx + 0x20]
movups xmmword [edx + 0x20], xmm2
movdqa xmm4, xmmword [ecx + 0x30]
movups xmmword [edx + 0x30], xmm4
je 0x50be06
movdqa xmm5, xmmword [ecx + 0x40]
lea ecx, [eax + 0x60]
lea eax, [esi + 0x60]
mov esi, dword [ebp - 0x148]
movaps xmmword [ebp - 0x158], xmm5
sub esi, 0x60
movups xmmword [edx + 0x40], xmm5
cmp dword [ebp - 0x15c], 0x60
je 0x50b661
movzx edx, byte [ecx]
cmp esi, 1
mov byte [eax], dl
je 0x50b661
movzx edx, byte [ecx + 1]
cmp esi, 2
mov byte [eax + 1], dl
je 0x50b661
movzx edx, byte [ecx + 2]
cmp esi, 3
mov byte [eax + 2], dl
je 0x50b661
movzx edx, byte [ecx + 3]
cmp esi, 4
mov byte [eax + 3], dl
je 0x50b661
movzx edx, byte [ecx + 4]
cmp esi, 5
mov byte [eax + 4], dl
je 0x50b661
movzx edx, byte [ecx + 5]
cmp esi, 6
mov byte [eax + 5], dl
je 0x50b661
movzx edx, byte [ecx + 6]
cmp esi, 7
mov byte [eax + 6], dl
je 0x50b661
movzx edx, byte [ecx + 7]
cmp esi, 8
mov byte [eax + 7], dl
je 0x50b661
movzx edx, byte [ecx + 8]
cmp esi, 9
mov byte [eax + 8], dl
je 0x50b661
movzx edx, byte [ecx + 9]
cmp esi, 0xa
mov byte [eax + 9], dl
je 0x50b661
movzx edx, byte [ecx + 0xa]
cmp esi, 0xb
mov byte [eax + 0xa], dl
je 0x50b661
movzx edx, byte [ecx + 0xb]
cmp esi, 0xc
mov byte [eax + 0xb], dl
je 0x50b661
movzx edx, byte [ecx + 0xc]
cmp esi, 0xd
mov byte [eax + 0xc], dl
je 0x50b661
movzx edx, byte [ecx + 0xd]
cmp esi, 0xe
mov byte [eax + 0xd], dl
je 0x50b661
movzx ecx, byte [ecx + 0xe]
mov byte [eax + 0xe], cl
movzx eax, byte [ebx + 0x220]
lea esi, [ebx + 0xd0]
movdqu xmm2, xmmword [ebx + 0x230]
movups xmmword [ebx + 0xc0], xmm2
mov byte [ebx + 0xb0], al
mov eax, dword [ebx + 0x224]
mov dword [ebx + 0xb4], eax
mov eax, dword [ebx + 0x228]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0x22c]
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0xb0]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x134]
neg eax
and eax, 0xf
mov ecx, eax
je 0x50be35
movzx eax, byte [ebx + 0x240]
cmp ecx, 1
lea esi, [ebx + 0xd1]
mov byte [ebx + 0xd0], al
lea eax, [ebx + 0x241]
mov dword [ebp - 0x158], eax
je 0x50be1a
movzx eax, byte [ebx + 0x241]
cmp ecx, 2
lea esi, [ebx + 0xd2]
mov byte [ebx + 0xd1], al
lea eax, [ebx + 0x242]
mov dword [ebp - 0x158], eax
je 0x50bf11
movzx eax, byte [ebx + 0x242]
cmp ecx, 3
lea esi, [ebx + 0xd3]
mov byte [ebx + 0xd2], al
lea eax, [ebx + 0x243]
mov dword [ebp - 0x158], eax
je 0x50bef6
movzx eax, byte [ebx + 0x243]
cmp ecx, 4
lea esi, [ebx + 0xd4]
mov byte [ebx + 0xd3], al
lea eax, [ebx + 0x244]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x158], eax
je 0x50bed8
movzx eax, byte [ebx + 0x244]
cmp ecx, 5
lea esi, [ebx + 0xd5]
mov byte [ebx + 0xd4], al
lea eax, [ebx + 0x245]
mov dword [ebp - 0x158], eax
je 0x50bec9
movzx eax, byte [ebx + 0x245]
cmp ecx, 6
lea esi, [ebx + 0xd6]
mov byte [ebx + 0xd5], al
lea eax, [ebx + 0x246]
mov dword [ebp - 0x158], eax
je 0x50beba
movzx eax, byte [ebx + 0x246]
cmp ecx, 7
lea esi, [ebx + 0xd7]
mov byte [ebx + 0xd6], al
lea eax, [ebx + 0x247]
mov dword [ebp - 0x158], eax
je 0x50beab
movzx eax, byte [ebx + 0x247]
cmp ecx, 8
lea esi, [ebx + 0xd8]
mov byte [ebx + 0xd7], al
lea eax, [ebx + 0x248]
mov dword [ebp - 0x158], eax
je 0x50bee7
movzx eax, byte [ebx + 0x248]
cmp ecx, 9
lea esi, [ebx + 0xd9]
mov byte [ebx + 0xd8], al
lea eax, [ebx + 0x249]
mov dword [ebp - 0x158], eax
je 0x50c15d
movzx eax, byte [ebx + 0x249]
cmp ecx, 0xa
lea esi, [ebx + 0xda]
mov byte [ebx + 0xd9], al
lea eax, [ebx + 0x24a]
mov dword [ebp - 0x158], eax
je 0x50c14e
movzx eax, byte [ebx + 0x24a]
cmp ecx, 0xb
lea esi, [ebx + 0xdb]
mov byte [ebx + 0xda], al
lea eax, [ebx + 0x24b]
mov dword [ebp - 0x158], eax
je 0x50c13f
movzx eax, byte [ebx + 0x24b]
cmp ecx, 0xc
lea esi, [ebx + 0xdc]
mov byte [ebx + 0xdb], al
lea eax, [ebx + 0x24c]
mov dword [ebp - 0x158], eax
je 0x50c130
movzx eax, byte [ebx + 0x24c]
cmp ecx, 0xd
lea esi, [ebx + 0xdd]
mov byte [ebx + 0xdc], al
lea eax, [ebx + 0x24d]
mov dword [ebp - 0x158], eax
je 0x50c121
movzx eax, byte [ebx + 0x24d]
cmp ecx, 0xe
lea esi, [ebx + 0xde]
mov byte [ebx + 0xdd], al
lea eax, [ebx + 0x24e]
mov dword [ebp - 0x158], eax
je 0x50c16c
movzx eax, byte [ebx + 0x24e]
lea esi, [ebx + 0xdf]
mov dword [ebp - 0x15c], 0x51
mov byte [ebx + 0xde], al
lea eax, [ebx + 0x24f]
mov dword [ebp - 0x158], eax
mov eax, 0x60
sub eax, ecx
mov edx, eax
lea eax, [ecx + 0x20]
mov ecx, edx
add edi, eax
add eax, dword [ebp - 0x160]
shr ecx, 4
movdqa xmm3, xmmword [edi]
cmp ecx, 5
movups xmmword [eax], xmm3
movdqa xmm4, xmmword [edi + 0x10]
movups xmmword [eax + 0x10], xmm4
movdqa xmm5, xmmword [edi + 0x20]
movups xmmword [eax + 0x20], xmm5
movdqa xmm6, xmmword [edi + 0x30]
movups xmmword [eax + 0x30], xmm6
movdqa xmm7, xmmword [edi + 0x40]
movups xmmword [eax + 0x40], xmm7
je 0x50b977
movdqa xmm4, xmmword [edi + 0x50]
movups xmmword [eax + 0x50], xmm4
mov edi, edx
mov ecx, dword [ebp - 0x158]
and edi, 0xfffffff0
lea eax, [esi + edi]
mov esi, dword [ebp - 0x15c]
add ecx, edi
sub esi, edi
cmp edx, edi
je 0x50ba50
movzx edx, byte [ecx]
cmp esi, 1
mov byte [eax], dl
je 0x50ba50
movzx edx, byte [ecx + 1]
cmp esi, 2
mov byte [eax + 1], dl
je 0x50ba50
movzx edx, byte [ecx + 2]
cmp esi, 3
mov byte [eax + 2], dl
je 0x50ba50
movzx edx, byte [ecx + 3]
cmp esi, 4
mov byte [eax + 3], dl
je 0x50ba50
movzx edx, byte [ecx + 4]
cmp esi, 5
mov byte [eax + 4], dl
je 0x50ba50
movzx edx, byte [ecx + 5]
cmp esi, 6
mov byte [eax + 5], dl
je 0x50ba50
movzx edx, byte [ecx + 6]
cmp esi, 7
mov byte [eax + 6], dl
je 0x50ba50
movzx edx, byte [ecx + 7]
cmp esi, 8
mov byte [eax + 7], dl
je 0x50ba50
movzx edx, byte [ecx + 8]
cmp esi, 9
mov byte [eax + 8], dl
je 0x50ba50
movzx edx, byte [ecx + 9]
cmp esi, 0xa
mov byte [eax + 9], dl
je 0x50ba50
movzx edx, byte [ecx + 0xa]
cmp esi, 0xb
mov byte [eax + 0xa], dl
je 0x50ba50
movzx edx, byte [ecx + 0xb]
cmp esi, 0xc
mov byte [eax + 0xb], dl
je 0x50ba50
movzx edx, byte [ecx + 0xc]
cmp esi, 0xd
mov byte [eax + 0xc], dl
je 0x50ba50
movzx edx, byte [ecx + 0xd]
cmp esi, 0xe
mov byte [eax + 0xd], dl
je 0x50ba50
movzx ecx, byte [ecx + 0xe]
mov byte [eax + 0xe], cl
mov edi, dword [ebx + 0x2a4]
mov ecx, dword [ebx + 0x2a8]
mov esi, dword [ebx + 0x2a0]
mov dword [ebx + 0x134], edi
mov edi, dword [ebp - 0x144]
mov dword [ebx + 0x130], esi
mov dword [ebx + 0x138], ecx
mov ecx, dword [edi + 4]
mov dword [ebx + 0x13c], ecx
mov ecx, dword [edi + 8]
mov dword [ebx + 0x140], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebx + 0x144], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebx + 0x148], ecx
mov ecx, dword [edi + 0x14]
mov dword [ebx + 0x14c], ecx
mov ecx, dword [edi + 0x18]
mov dword [ebx + 0x150], ecx
mov ecx, dword [edi + 0x1c]
mov dword [ebx + 0x154], ecx
mov ecx, dword [edi + 0x20]
mov dword [ebx + 0x158], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebx + 0x15c], ecx
mov ecx, dword [edi + 0x28]
mov dword [ebx + 0x160], ecx
mov ecx, dword [edi + 0x2c]
mov dword [ebx + 0x164], ecx
mov ecx, dword [edi + 0x30]
mov dword [ebx + 0x168], ecx
mov ecx, dword [edi + 0x34]
mov dword [ebx + 0x16c], ecx
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x170], ecx
mov ecx, dword [edi + 0x3c]
mov edi, dword [ebp - 0x140]
mov dword [ebx + 0x174], ecx
mov ecx, dword [ebx + 0x2e8]
mov dword [ebx + 0x178], ecx
mov ecx, dword [edi + 4]
mov dword [ebx + 0x17c], ecx
mov ecx, dword [edi + 8]
mov dword [ebx + 0x180], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebx + 0x184], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebx + 0x188], ecx
mov ecx, dword [edi + 0x14]
mov dword [ebx + 0x18c], ecx
mov ecx, dword [edi + 0x18]
mov dword [ebx + 0x190], ecx
mov ecx, dword [edi + 0x1c]
mov dword [ebx + 0x194], ecx
mov ecx, dword [edi + 0x20]
mov dword [ebx + 0x198], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebx + 0x19c], ecx
mov ecx, dword [edi + 0x28]
mov dword [ebx + 0x1a0], ecx
mov ecx, dword [edi + 0x2c]
mov dword [ebx + 0x1a4], ecx
mov ecx, dword [edi + 0x30]
mov dword [ebx + 0x1a8], ecx
mov ecx, dword [edi + 0x34]
mov dword [ebx + 0x1ac], ecx
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x1b0], ecx
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x1b4], ecx
jmp 0x50bbac
lea eax, [ebx + 0x244]
mov dword [ebp - 0x148], eax
movzx eax, byte [ebp - 0x128]
lea esi, [ebp - 0x108]
movdqa xmm0, xmmword [ebp - 0x118]
movups xmmword [ebx + 0x230], xmm0
mov byte [ebx + 0x220], al
mov eax, dword [ebp - 0x13c]
mov dword [ebx + 0x224], eax
mov eax, dword [ebp - 0x120]
mov dword [ebx + 0x228], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebx + 0x22c], eax
mov eax, dword [ebp - 0x108]
mov dword [ebx + 0x240], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x134]
mov dword [ecx + 0x5c], eax
mov edi, dword [ebp - 0x148]
mov dword [ebp - 0x134], ecx
and edi, 0xfffffffc
sub ecx, edi
sub esi, ecx
add ecx, 0x60
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x144]
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa4]
mov dword [ebx + 0x2a8], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x2a0], esi
mov dword [ebx + 0x2a4], edi
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x94]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x140]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x8c]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x88]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x84]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x7c]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x78]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x74]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x70]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x6c]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0x68]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x64]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0x2e8], eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x58]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x134]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x3c], eax
mov eax, dword [ebx + 0x22c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
cmp byte [ebx + 0x220], 0
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
je 0x50bda0
mov eax, 0xffffff
xor edx, edx
mov ecx, dword [ebx + 0x1e7]
div edi
and ecx, 0xff000000
imul eax, esi
add eax, ecx
lea ecx, [ebp - 0x128]
mov dword [ebx + 0x1e7], eax
call fcn.00412370
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov eax, 0xffffffff
xor edx, edx
div edi
imul eax, esi
jmp 0x50bd79
mov dword [ebp - 0x134], 0x5a
jmp 0x50ac48
mov dword [ebp - 0x134], 0x5b
jmp 0x50ac48
mov dword [ebp - 0x148], 0x58
jmp 0x50b505
mov dword [ebp - 0x138], 0x60
jmp 0x50b093
mov eax, dword [ebp - 0x138]
mov esi, dword [ebp - 0x134]
mov ecx, edx
add ecx, 0x50
add eax, 0x50
sub esi, 0x50
jmp 0x50acc8
lea ecx, [eax + 0x50]
lea eax, [esi + 0x50]
mov esi, dword [ebp - 0x148]
sub esi, 0x50
jmp 0x50b5a8
lea eax, [ebx + 0x244]
mov dword [ebp - 0x15c], 0x5f
mov dword [ebp - 0x148], eax
jmp 0x50b925
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x15c], 0x60
mov dword [ebp - 0x158], eax
lea eax, [ebx + 0x244]
mov dword [ebp - 0x148], eax
jmp 0x50b925
mov dword [ebp - 0x148], 0x5f
jmp 0x50b505
lea eax, [ebx + 0x60]
movdqa xmm6, xmmword [ebx + 0x1c0]
lea ecx, [ebx + 0x1d0]
mov dword [ebp - 0x158], 6
mov dword [ebp - 0x15c], 0x60
mov edx, eax
mov dword [ebp - 0x148], 0x60
lea eax, [ebx + 0x1c0]
movups xmmword [ebx + 0x50], xmm6
jmp 0x50b54d
mov dword [ebp - 0x15c], 0x59
jmp 0x50b925
mov dword [ebp - 0x15c], 0x5a
jmp 0x50b925
mov dword [ebp - 0x15c], 0x5b
jmp 0x50b925
mov dword [ebp - 0x15c], 0x5c
jmp 0x50b925
mov dword [ebp - 0x15c], 0x58
jmp 0x50b925
lea eax, [ebx + 0x244]
mov dword [ebp - 0x15c], 0x5d
mov dword [ebp - 0x148], eax
jmp 0x50b925
lea eax, [ebx + 0x244]
mov dword [ebp - 0x15c], 0x5e
mov dword [ebp - 0x148], eax
jmp 0x50b925
mov dword [ebp - 0x148], 0x5d
jmp 0x50b505
mov dword [ebp - 0x148], 0x5e
jmp 0x50b505
mov dword [ebp - 0x148], 0x59
jmp 0x50b505
mov dword [ebp - 0x148], 0x5a
jmp 0x50b505
mov dword [ebp - 0x148], 0x5b
jmp 0x50b505
mov dword [ebp - 0x148], 0x5c
jmp 0x50b505
mov dword [ebp - 0x134], 0x5c
jmp 0x50ac48
mov dword [ebp - 0x134], 0x5d
jmp 0x50ac48
mov dword [ebp - 0x134], 0x5e
jmp 0x50ac48
mov dword [ebp - 0x134], 0x5f
jmp 0x50ac48
movdqa xmm7, xmmword [ebx + 0x50]
lea eax, [ebx + 0x60]
lea ecx, [ebx + 0x1d0]
mov esi, 6
mov dword [ebp - 0x144], 0x60
movups xmmword [ebx + 0x1c0], xmm7
mov dword [ebp - 0x134], 0x60
jmp 0x50ac70
mov dword [ebp - 0x138], 0x5a
jmp 0x50b093
mov dword [ebp - 0x138], 0x5b
jmp 0x50b093
mov dword [ebp - 0x138], 0x5c
jmp 0x50b093
mov dword [ebp - 0x138], 0x5d
jmp 0x50b093
mov dword [ebp - 0x138], 0x5e
jmp 0x50b093
mov dword [ebp - 0x138], 0x5f
jmp 0x50b093
mov dword [ebp - 0x138], 0x52
jmp 0x50b093
mov dword [ebp - 0x138], 0x53
jmp 0x50b093
mov dword [ebp - 0x138], 0x58
jmp 0x50b093
mov dword [ebp - 0x138], 0x59
jmp 0x50b093
mov dword [ebp - 0x148], 0x57
jmp 0x50b505
mov dword [ebp - 0x148], 0x52
jmp 0x50b505
mov dword [ebp - 0x148], 0x53
jmp 0x50b505
mov dword [ebp - 0x148], 0x54
jmp 0x50b505
mov dword [ebp - 0x138], 0x54
jmp 0x50b093
mov dword [ebp - 0x138], 0x55
jmp 0x50b093
mov dword [ebp - 0x138], 0x56
jmp 0x50b093
mov dword [ebp - 0x138], 0x57
jmp 0x50b093
mov dword [ebp - 0x134], 0x58
jmp 0x50ac48
mov dword [ebp - 0x134], 0x59
jmp 0x50ac48
mov dword [ebp - 0x15c], 0x53
jmp 0x50b925
mov dword [ebp - 0x15c], 0x54
jmp 0x50b925
mov dword [ebp - 0x15c], 0x55
jmp 0x50b925
mov dword [ebp - 0x15c], 0x56
jmp 0x50b925
mov dword [ebp - 0x15c], 0x57
jmp 0x50b925
mov dword [ebp - 0x15c], 0x52
jmp 0x50b925
mov dword [ebp - 0x148], 0x55
jmp 0x50b505
mov dword [ebp - 0x148], 0x56
jmp 0x50b505
mov dword [ebp - 0x134], 0x52
jmp 0x50ac48
mov dword [ebp - 0x134], 0x53
jmp 0x50ac48
mov dword [ebp - 0x134], 0x54
jmp 0x50ac48
mov dword [ebp - 0x134], 0x55
jmp 0x50ac48
mov dword [ebp - 0x134], 0x56
jmp 0x50ac48
mov dword [ebp - 0x134], 0x57
jmp 0x50ac48