Function at 0x4184f0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov dword [esp + 0x48], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 + 8]
mov esi, eax
or esi, 0xfde8
and esi, edx
add edx, eax
add edx, 0xa0810ea7
add esi, esi
mov edi, edx
sub edi, esi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418520
mov eax, dword [esp + 8]
mov ecx, dword [0x445320]
test ecx, ecx
je 0x4185a4
xor edx, edx
mov esi, dword [0x445324]
cmp dword [esi + edx*8], 0xa896961c
je 0x418580
inc edx
cmp ecx, edx
jne 0x418570
jmp 0x4185a4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x4185a4
lea eax, [esp + 4]
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x1c
test eax, eax
jns 0x418692
mov dword [esp + 8], 0x873dc680
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
mov edi, ecx
or edi, 0xdc7a89dc
xor edi, esi
mov esi, edi
not esi
and esi, 1
add edi, 0xb11f
or edi, 1
xor edi, esi
lea esi, [edi + esi*2]
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4185c0
cmp eax, dword [esp + 8]
jne 0x418692
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov cl, 1
nop
nop
movzx edx, word [esp + eax*2 + 8]
mov esi, eax
or esi, 0xfde8
and esi, edx
add edx, eax
add edx, 0xa0810ea7
add esi, esi
mov edi, edx
sub edi, esi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418610
mov eax, dword [0x445320]
test eax, eax
je 0x418692
mov ecx, dword [esp + 8]
xor edx, edx
mov esi, dword [0x445324]
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x418670
inc edx
cmp eax, edx
jne 0x418660
jmp 0x418692
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x418692
lea ecx, [esp + 4]
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x445328]
call fcn.004371a0
add esp, 0x18
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x418c9e
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edi, eax
or edi, 0xfde8
and edi, esi
add esi, eax
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x4186b0
mov eax, dword [esp + 8]
mov edx, dword [0x445320]
test edx, edx
je 0x418735
xor esi, esi
mov edi, dword [0x445324]
cmp dword [edi + esi*8], 0x6e83e51e
je 0x418710
inc esi
cmp edx, esi
jne 0x418700
jmp 0x418735
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418735
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x20
mov dword [esp + 8], 0x438103a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
lea edi, [esi + esi]
not edi
add edi, esi
mov ebx, ecx
xor ebx, 0x7f
or ebx, edi
or esi, ecx
or esi, 0xff80
and esi, ebx
add esi, 0x400
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418750
cmp eax, dword [esp + 8]
jne 0x41888f
push dword [esp + 0x38]
call fcn.00435730
add esp, 4
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], 0x12d612d7
xor ecx, ecx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + ecx*2 + 8]
mov ebp, ecx
or ebp, 0xfde8
and ebp, edi
lea edx, [ecx + edi]
add edx, 0xa0810ea7
add ebp, ebp
mov edi, edx
sub edi, ebp
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test bl, 1
mov ebx, 0
jne 0x4187c0
mov ecx, dword [esp + 8]
mov edi, dword [0x445320]
test edi, edi
je 0x41885d
xor ebx, ebx
mov ebp, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x418831
inc ebx
cmp edi, ebx
jne 0x418820
jmp 0x41885d
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x41885d
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push dword [esp + 0x5c]
push 0x14
push edi
push dword [0x445328]
mov esi, eax
call fcn.004371a0
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x418886
mov ecx, dword [eax]
test ecx, ecx
je 0x418886
cmp byte [ecx], 1
jne 0x418886
cmp byte [ecx + 1], 0xf
ja 0x418886
cmp byte [ecx + 7], 5
jne 0x418886
cmp byte [ecx + 8], 0x12
jne 0x418886
mov ecx, dword [esp + 4]
mov dword [esp + 0x48], ecx
push eax
call fcn.00435750
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x418ca0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [0x443ff8]
mov dword [esp + 8], 0xf9e4f9ee
mov dword [esp + 0xc], 0xf9e3f9d7
mov dword [esp + 0x10], 0xf9ddf9d3
mov dword [esp + 0x14], 0xe614e616
mov dword [esp + 0x18], 0xfa1ce619
mov dword [esp + 0x1c], 0xfa26fa25
mov word [esp + 0x20], 0xe5bb
mov ecx, 0x3302a9f7
mov edx, 0xccfd5608
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + ecx*2 - 0x660553e6]
lea ebx, [edi + edi]
not ebx
add ebx, edi
mov esi, edx
or esi, edi
and ebx, ecx
not esi
or esi, ebx
lea ebp, [edx + 0x33030000]
and ebp, 0x4332
mov ebx, ecx
and ebx, 0x88cd
or ebx, ebp
xor ebx, 0x9ccd
and ebx, edi
mov edi, esi
xor edi, ebx
not ebx
and ebx, esi
add edi, esi
sub edi, ebx
add edi, 0xffffb048
mov word [esp + ecx*2 - 0x660553e6], di
inc ecx
dec edx
cmp ecx, 0x3302aa04
jne 0x418900
lea esi, [esp + 8]
push 0x800
push 0
push esi
call eax
lea ecx, [esp + 0x74]
push eax
call fcn.00436ce0
test al, al
je 0x418ab7
mov dword [esp + 0x64], 1
mov dword [esp + 0x70], 2
push 0x10a6c058
push dword [esp + 0x78]
call fcn.00438a90
add esp, 8
mov dword [esp + 8], 0x6b606b97
mov dword [esp + 0xc], 0x6b6a6b8f
mov dword [esp + 0x10], 0x6b6c6b78
mov dword [esp + 0x14], 0x6b786b78
mov dword [esp + 0x18], 0x6b636b63
mov dword [esp + 0x1c], 0x6b7b6b6f
mov dword [esp + 0x20], 0x6b816b75
mov dword [esp + 0x24], 0x6b7a6b60
mov dword [esp + 0x28], 0x6b7c6b62
mov dword [esp + 0x2c], 0x6b726b7a
mov dword [esp + 0x30], 0x6b7c6b7f
mov word [esp + 0x34], 0x6bda
xor ecx, ecx
nop
nop
nop
lea edx, [ecx + 0xce4]
xor dx, word [esp + ecx*2 + 8]
add edx, 0xffff98e0
mov word [esp + ecx*2 + 8], dx
inc ecx
cmp ecx, 0x17
jne 0x418a00
lea ecx, [esp + 0x68]
push ecx
push esi
push 0
call eax
test eax, eax
je 0x418c07
mov ecx, dword [esp + 4]
mov dword [esp + 0x7c], 0x12d612d7
xor eax, eax
mov dl, 1
nop
nop
movzx esi, word [esp + eax*2 + 0x7c]
mov edi, eax
or edi, 0xfde8
and edi, esi
add esi, eax
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + eax*2 + 0x7c], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418a40
mov eax, dword [esp + 0x7c]
mov edx, dword [0x445320]
test edx, edx
je 0x418b6e
xor esi, esi
mov edi, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x4b501129
je 0x418b47
inc esi
cmp edx, esi
jne 0x418aa0
jmp 0x418b6e
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0x12d612d7
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [esp + edx*2 + 8]
mov esi, edx
or esi, 0xfde8
and esi, eax
add eax, edx
add eax, 0xa0810ea7
add esi, esi
mov edi, eax
sub edi, esi
and eax, 1
xor edi, 1
lea eax, [edi + eax*2]
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418ad0
mov edx, dword [0x445320]
test edx, edx
je 0x418ca0
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418cab
inc eax
cmp edx, eax
jne 0x418b30
jmp 0x418c9e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418b6e
lea eax, [esp + 0x64]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x24
test eax, eax
js 0x418c07
push dword [esp + 0x74]
call dword [0x44410c]
mov eax, dword [esp + 4]
mov dword [esp + 8], 0x12d612d7
xor ecx, ecx
mov dl, 1
movzx esi, word [esp + ecx*2 + 8]
mov edi, ecx
or edi, 0xfde8
and edi, esi
add esi, ecx
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418b90
mov ecx, dword [0x445320]
test ecx, ecx
je 0x418ce5
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x418ccb
inc esi
cmp ecx, esi
jne 0x418bf0
jmp 0x418ce5
push dword [esp + 0x74]
call dword [0x44410c]
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0x12d612d7
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [esp + edx*2 + 8]
mov esi, edx
or esi, 0xfde8
and esi, eax
add eax, edx
add eax, 0xa0810ea7
add esi, esi
mov edi, eax
sub edi, esi
and eax, 1
xor edi, 1
lea eax, [edi + eax*2]
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418c30
mov edx, dword [0x445320]
test edx, edx
je 0x418ca0
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418cab
inc eax
cmp edx, eax
jne 0x418c90
xor eax, eax
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [edi + eax*8 + 4]
xor eax, eax
cmp edx, esi
je 0x418ca0
push ecx
push 4
push edx
push dword [0x445328]
call fcn.004371a0
xor eax, eax
add esp, 0x10
jmp 0x418ca0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x418ce5
push eax
push 4
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x10
mov dword [esp + 0x58], 0
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 + 8]
mov esi, eax
or esi, 0xfde8
and esi, edx
add edx, eax
add edx, 0xa0810ea7
add esi, esi
mov edi, edx
sub edi, esi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418d00
mov eax, dword [esp + 8]
mov ecx, dword [0x445320]
test ecx, ecx
je 0x418d84
xor edx, edx
mov esi, dword [0x445324]
cmp dword [esi + edx*8], 0x67f3d776
je 0x418d60
inc edx
cmp ecx, edx
jne 0x418d50
jmp 0x418d84
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418d84
lea eax, [esp + 0x58]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x1c
mov dword [esp + 0x4c], eax
mov dword [esp + 8], 0x5caa9cad
xor ecx, ecx
mov al, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
lea ebx, [ecx + 0x11a1]
and ebx, esi
mov edx, ebx
and edx, 0x11a1
mov ebp, ebx
and ebp, 2
mov edi, ebx
or edi, 0xfffffffd
inc edi
imul edi, edx
or ebx, 2
imul ebx, ebp
sub edi, ebx
add esi, ecx
lea edx, [edi + esi]
add edx, 0xdce68498
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test al, 1
mov eax, 0
jne 0x418da0
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 8]
jne 0x41965b
push dword [esp + 0x58]
call fcn.00435730
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edi, eax
or edi, 0xfde8
and edi, esi
add esi, eax
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418e30
mov eax, dword [esp + 8]
mov edx, dword [0x445320]
test edx, edx
je 0x418eb2
xor esi, esi
mov edi, dword [0x445324]
cmp dword [edi + esi*8], 0x67f3d776
je 0x418e90
inc esi
cmp edx, esi
jne 0x418e80
jmp 0x418eb2
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418eb2
push 0
push ecx
push dword [esp + 0x58]
push 5
push 0x10
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x1c
test eax, eax
js 0x41964f
mov eax, dword [esp + 0x50]
mov edi, dword [eax]
lea esi, [esp + 0x7c]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebx + edi + 0x44]
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov ecx, esi
push 0
push eax
call fcn.004359e0
mov ecx, esi
push 0x1000
call fcn.00435a00
test eax, eax
js 0x419635
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov ebx, eax
or ebx, 0xfde8
and ebx, edi
add edi, eax
add edi, 0xa0810ea7
add ebx, ebx
mov ebp, edi
sub ebp, ebx
and edi, 1
xor ebp, 1
lea edi, [edi*2]
add edi, ebp
mov word [esp + eax*2 + 8], di
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418f40
mov eax, dword [esp + 8]
mov edx, dword [0x445320]
test edx, edx
je 0x418fd1
xor edi, edi
mov ebx, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x418fb0
inc edi
cmp edx, edi
jne 0x418fa0
jmp 0x418fd1
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x418fd1
lea eax, [esp + 0x44]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x18
test eax, eax
js 0x41962a
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov ebx, eax
or ebx, 0xfde8
and ebx, edi
add edi, eax
add edi, 0xa0810ea7
add ebx, ebx
mov ebp, edi
sub ebp, ebx
and edi, 1
xor ebp, 1
lea edi, [edi*2]
add edi, ebp
mov word [esp + eax*2 + 8], di
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418ff0
mov eax, dword [esp + 8]
mov edx, dword [0x445320]
test edx, edx
je 0x419085
xor edi, edi
mov ebx, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x419060
inc edi
cmp edx, edi
jne 0x419050
jmp 0x419085
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419085
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x20
mov dword [esp + 8], 0x28a1e883
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
mov edi, ecx
or edi, 0xd4bc5a0
xor edi, esi
mov ebx, edi
and ebx, 0x501d2fd
and esi, 2
mov ebp, esi
xor ebp, 2
imul ebp, ebx
or ebx, 2
imul ebx, esi
add ebx, ebp
xor edi, 0x95a1d2ff
mov esi, ebx
and esi, edi
xor edi, ebx
lea esi, [edi + esi*2]
inc esi
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4190a0
cmp eax, dword [esp + 8]
jne 0x419587
push dword [esp + 0x38]
call fcn.00435730
add esp, 4
mov edi, eax
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], 0x12d612d7
xor ecx, ecx
mov dl, 1
nop
nop
nop
movzx eax, word [esp + ecx*2 + 8]
mov esi, ecx
or esi, 0xfde8
and esi, eax
add eax, ecx
add eax, 0xa0810ea7
add esi, esi
mov ebp, eax
sub ebp, esi
and eax, 1
xor ebp, 1
lea eax, [eax*2]
add eax, ebp
mov word [esp + ecx*2 + 8], ax
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x419120
mov ecx, dword [esp + 8]
mov edx, dword [0x445320]
test edx, edx
je 0x419193
xor eax, eax
mov ebp, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + eax*8], 0x6e83e51e
je 0x41923e
inc eax
cmp edx, eax
jne 0x419180
mov ebp, edi
test ecx, ecx
js 0x41957e
mov ecx, dword [ebp]
test ecx, ecx
je 0x41957e
cmp byte [ecx], 1
jne 0x41957e
cmp byte [ecx + 1], 0xf
ja 0x41957e
cmp byte [ecx + 7], 5
jne 0x41957e
cmp byte [ecx + 8], 0x12
jne 0x41957e
mov edx, dword [esp + 0x44]
mov dword [esp + 8], 0x12d612d7
xor ecx, ecx
mov bl, 1
movzx eax, word [esp + ecx*2 + 8]
mov esi, ecx
or esi, 0xfde8
and esi, eax
add eax, ecx
add eax, 0xa0810ea7
add esi, esi
mov edi, eax
sub edi, esi
and eax, 1
xor edi, 1
lea eax, [edi + eax*2]
mov word [esp + ecx*2 + 8], ax
mov ecx, 1
test bl, 1
mov ebx, 0
jne 0x4191df
mov eax, dword [esp + 8]
mov ecx, dword [0x445320]
test ecx, ecx
je 0x41929a
xor esi, esi
mov edi, dword [0x445324]
cmp dword [edi + esi*8], 0x6e83e51e
je 0x419273
inc esi
cmp ecx, esi
jne 0x41922e
jmp 0x41929a
mov edx, dword [ebp + eax*8 + 4]
cmp edx, ecx
mov ebp, edi
je 0x419195
lea eax, [esp + 0x38]
push eax
push ebx
push ebp
push 1
push dword [esp + 0x10]
push 0x14
push edx
push dword [0x445328]
mov edi, ebp
call fcn.004371a0
add esp, 0x20
mov ecx, eax
jmp 0x419195
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, eax
je 0x41929a
lea eax, [esp + 0x54]
push eax
push 0
push 0
push 3
push edx
push 0x14
push ecx
push dword [0x445328]
mov edi, ebp
call fcn.004371a0
add esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 8], 0x9f33df11
xor edx, edx
mov al, 1
movzx ecx, word [esp + edx*2 + 8]
mov edi, edx
or edi, 0x9e32ae22
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
mov ebx, 0x51dd
sub ebx, edx
and ebx, ecx
not ecx
or ecx, ebp
and ecx, edi
mov esi, ecx
not esi
and esi, ebx
xor ecx, ebx
add ecx, ebx
sub ecx, esi
add ecx, 0xe6a8eef
mov esi, ecx
and esi, 1
xor ecx, 1
lea ecx, [ecx + esi*2]
mov word [esp + edx*2 + 8], cx
mov edx, 1
test al, 1
mov eax, 0
jne 0x4192ad
mov eax, dword [esp]
cmp eax, dword [esp + 8]
mov ebp, dword [esp + 0x60]
jne 0x41957e
push dword [esp + 0x54]
call fcn.00435730
add esp, 4
mov edx, eax
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], 0x12d612d7
xor eax, eax
mov cl, 1
movzx esi, word [esp + eax*2 + 8]
mov edi, eax
or edi, 0xfde8
and edi, esi
add esi, eax
add esi, 0xa0810ea7
add edi, edi
mov ebp, esi
sub ebp, edi
and esi, 1
xor ebp, 1
lea esi, [esi*2]
add esi, ebp
mov word [esp + eax*2 + 8], si
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x419336
mov ecx, dword [esp + 8]
mov eax, dword [0x445320]
test eax, eax
je 0x41939e
xor edi, edi
mov ebp, dword [0x445324]
cmp dword [ebp + edi*8], 0x6e83e51e
je 0x419502
inc edi
cmp eax, edi
jne 0x41938b
mov edi, edx
test ecx, ecx
js 0x419571
mov ecx, dword [edi]
test ecx, ecx
je 0x419571
movzx edx, byte [esp + 0x68]
mov dh, byte [esp + 0x69]
movzx eax, byte [esp + 0x6a]
mov ah, byte [esp + 0x6b]
mov byte [esp], ah
movzx ebx, byte [esp + 0x6c]
mov byte [esp + 0x43], bl
movzx ebx, byte [esp + 0x6d]
mov byte [esp + 0x41], bl
mov ah, byte [esp + 0x6e]
mov byte [esp + 0x40], ah
mov ah, byte [esp + 0x6f]
mov byte [esp + 0x3f], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0x42], al
jmp 0x4193fe
add ebx, 0xc
dec ecx
je 0x419571
cmp byte [ebx - 7], dl
jne 0x4193f4
cmp byte [ebx - 6], dh
jne 0x4193f4
cmp byte [ebx - 5], al
jne 0x4193f4
mov ah, byte [esp]
cmp byte [ebx - 4], ah
jne 0x4193f4
mov ah, byte [esp + 0x43]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x42]
jne 0x4193f4
mov ah, byte [esp + 0x41]
cmp byte [ebx - 2], ah
jne 0x4193f4
mov ah, byte [esp + 0x40]
cmp byte [ebx - 1], ah
jne 0x4193f4
mov ah, byte [esp + 0x3f]
cmp byte [ebx], ah
jne 0x4193f4
mov dword [esp], edi
mov dword [esp + 0x90], 0xc
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 1
mov dword [esp + 8], 0x18
lea eax, [esp + 0xc]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x90]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], 0x12d612d7
xor eax, eax
mov dl, 1
movzx esi, word [esp + eax*2 + 0x5c]
mov edi, eax
or edi, 0xfde8
and edi, esi
add esi, eax
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + eax*2 + 0x5c], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x4194a2
mov eax, dword [esp + 0x5c]
mov edx, dword [0x445320]
test edx, edx
je 0x419562
xor edi, edi
mov ebx, dword [0x445324]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x419535
inc edi
cmp edx, edi
jne 0x4194f2
jmp 0x419562
mov eax, dword [ebp + edi*8 + 4]
cmp eax, ecx
mov edi, edx
je 0x4193a0
lea ecx, [esp + 0x54]
push ecx
push ebx
push edi
push 3
push dword [esp + 0x10]
push 0x14
push eax
push dword [0x445328]
call fcn.004371a0
add esp, 0x20
mov ecx, eax
jmp 0x4193a0
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419562
lea eax, [esp + 0x48]
push eax
push 2
push 0
lea eax, [esp + 0x14]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x445328]
call fcn.004371a0
add esp, 0x24
test eax, eax
jns 0x41956e
mov dword [esp + 0x48], 0
mov edi, dword [esp]
push edi
call fcn.00435750
add esp, 4
mov ebp, dword [esp + 0x60]
push ebp
call fcn.00435750
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 0x12d612d7
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
mov edi, ecx
or edi, 0xfde8
and edi, esi
add esi, ecx
add esi, 0xa0810ea7
add edi, edi
mov ebx, esi
sub ebx, edi
and esi, 1
xor ebx, 1
lea esi, [ebx + esi*2]
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4195a0
mov ecx, dword [0x445320]
test ecx, ecx
lea esi, [esp + 0x7c]
je 0x41962a
mov edx, dword [esp + 8]
xor edi, edi
mov ebx, dword [0x445324]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x419610
inc edi
cmp ecx, edi
jne 0x419600
jmp 0x41962a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41962a
push eax
push 4
push ecx
push dword [0x445328]
call fcn.004371a0
add esp, 0x10
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x8c]
mov ecx, esi
call fcn.00435b80
cmp dword [esp + 0x48], 0
jne 0x41964f
add ebx, edi
mov edi, dword [ebx]
test edi, edi
jne 0x418ed0
push dword [esp + 0x50]
call fcn.00435750
add esp, 4
mov eax, dword [esp + 0x48]
jmp 0x418ca0