Function at 0x418440
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], 0xa70aa70b
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1231846b
sub edx, eax
mov edi, edx
or edi, esi
and edx, 0x221806b
not edi
xor edx, esi
xor edx, 0x221fbff
or edx, edi
mov esi, edx
xor esi, 0xdca0
or edx, 0x235f
and esi, edx
add edx, esi
inc edx
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418470
mov eax, dword [esp + 8]
mov ecx, dword [0x446184]
test ecx, ecx
je 0x418504
xor edx, edx
mov esi, dword [0x446188]
nop
cmp dword [esi + edx*8], 0xa896961c
je 0x4184e0
inc edx
cmp ecx, edx
jne 0x4184d0
jmp 0x418504
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418504
lea eax, [esp + 4]
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x1c
test eax, eax
jns 0x418602
mov dword [esp + 8], 0xf35ce88
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, 0x60bc5394
and edi, esi
add esi, ecx
add esi, 0x60bc5394
add edi, edi
sub esi, edi
add esi, 0x6360
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418520
cmp eax, dword [esp + 8]
jne 0x418602
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1231846b
sub edx, eax
mov edi, edx
or edi, esi
and edx, 0x221806b
not edi
xor edx, esi
xor edx, 0x221fbff
or edx, edi
mov esi, edx
xor esi, 0xdca0
or edx, 0x235f
and esi, edx
add edx, esi
inc edx
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418570
mov eax, dword [0x446184]
test eax, eax
je 0x418602
mov ecx, dword [esp + 8]
xor edx, edx
mov esi, dword [0x446188]
nop
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x4185e0
inc edx
cmp eax, edx
jne 0x4185d0
jmp 0x418602
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x418602
lea ecx, [esp + 4]
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44618c]
call fcn.00438b10
add esp, 0x18
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x418c4e
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov esi, 0x1231846b
sub esi, eax
mov ebx, esi
or ebx, edi
and esi, 0x221806b
not ebx
xor esi, edi
xor esi, 0x221fbff
or esi, ebx
mov edi, esi
xor edi, 0xdca0
or esi, 0x235f
and edi, esi
add esi, edi
inc esi
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418620
mov eax, dword [esp + 8]
mov edx, dword [0x446184]
test edx, edx
je 0x4186b5
xor esi, esi
mov edi, dword [0x446188]
nop
cmp dword [edi + esi*8], 0x6e83e51e
je 0x418690
inc esi
cmp edx, esi
jne 0x418680
jmp 0x4186b5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x4186b5
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x20
mov dword [esp + 8], 0xf071b053
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, 0x3a34cff0
xor edi, esi
mov esi, edi
and esi, 0x7f
add esi, esi
xor edi, 0x7f80
sub esi, edi
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4186d0
cmp eax, dword [esp + 8]
jne 0x4187ff
push dword [esp + 0x38]
call fcn.00437120
add esp, 4
mov ecx, dword [esp + 4]
mov dword [esp + 0x50], ecx
mov esi, dword [esp + 0x38]
mov dword [esp + 8], 0xa70aa70b
xor ecx, ecx
mov bl, 1
movzx ebp, word [esp + ecx*2 + 8]
mov edi, 0x1231846b
sub edi, ecx
mov edx, edi
or edx, ebp
and edi, 0x221806b
not edx
xor edi, ebp
xor edi, 0x221fbff
or edi, edx
mov edx, edi
xor edx, 0xdca0
or edi, 0x235f
and edx, edi
add edx, edi
inc edx
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test bl, 1
mov ebx, 0
jne 0x418730
mov ecx, dword [esp + 8]
mov edi, dword [0x446184]
test edi, edi
je 0x4187cd
xor ebx, ebx
mov ebp, dword [0x446188]
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x4187a1
inc ebx
cmp edi, ebx
jne 0x418790
jmp 0x4187cd
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x4187cd
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push dword [esp + 0x60]
push 0x14
push edi
push dword [0x44618c]
mov esi, eax
call fcn.00438b10
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x4187f6
mov ecx, dword [eax]
test ecx, ecx
je 0x4187f6
cmp byte [ecx], 1
jne 0x4187f6
cmp byte [ecx + 1], 0xf
ja 0x4187f6
cmp byte [ecx + 7], 5
jne 0x4187f6
cmp byte [ecx + 8], 0x12
jne 0x4187f6
mov ecx, dword [esp + 4]
mov dword [esp + 0x48], ecx
push eax
call fcn.00437140
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x418c50
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [0x444e5c]
mov dword [esp + 8], 0x2d4e2d48
mov dword [esp + 0xc], 0x2d4d2d5d
mov dword [esp + 0x10], 0x2d572d5d
mov dword [esp + 0x14], 0x2d122d1c
mov dword [esp + 0x18], 0x2d462d1f
mov dword [esp + 0x1c], 0x2d582d5f
mov word [esp + 0x20], 0x2d25
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
lea edx, [ecx + 0x4c21]
mov esi, 0x33de
sub esi, ecx
and esi, 0x33dd
and edx, 0x4c22
or edx, esi
xor dx, word [esp + ecx*2 + 8]
xor edx, 0x33dd
add edx, 0xffff9ef8
mov word [esp + ecx*2 + 8], dx
mov edx, 4
sub edx, ecx
add ecx, 0xb
and edx, 0xa
and ecx, 0x15
sub ecx, edx
cmp ecx, 0xd
jb 0x418860
lea ecx, [esp + 8]
push 0x800
push 0
push ecx
call eax
lea ecx, [esp + 0x74]
push eax
call fcn.00438460
test al, al
je 0x418a47
mov dword [esp + 0x64], 1
mov dword [esp + 0x70], 2
push 0x10a6c058
push dword [esp + 0x78]
call fcn.0043a3b0
add esp, 8
mov dword [esp + 8], 0x323f320a
mov dword [esp + 0xc], 0x32213202
mov dword [esp + 0x10], 0x323b322d
mov dword [esp + 0x14], 0x3223322d
mov dword [esp + 0x18], 0x322c322e
mov dword [esp + 0x1c], 0x32203232
mov dword [esp + 0x20], 0x32063230
mov dword [esp + 0x24], 0x32113225
mov dword [esp + 0x28], 0x3213321f
mov dword [esp + 0x2c], 0x32093217
mov dword [esp + 0x30], 0x320b320a
mov word [esp + 0x34], 0x326f
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + ecx*2 + 8]
lea edx, [ecx + 0x464894d1]
mov esi, edi
not esi
or esi, edx
lea edx, [edi + esi]
inc edx
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov esi, edx
and esi, 0xfffffffd
imul esi, ebx
add esi, edi
mov edi, edx
shr edi, 1
and edi, 1
or edx, 2
imul edx, edi
add edx, edx
sub esi, edx
lea edx, [ecx + esi]
add edx, 0xffffee49
mov word [esp + ecx*2 + 8], dx
inc ecx
cmp ecx, 0x17
jne 0x418950
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0xc]
push ecx
push 0
call eax
test eax, eax
je 0x418bb7
mov ecx, dword [esp + 4]
mov dword [esp + 0x7c], 0xa70aa70b
xor eax, eax
mov dl, 1
movzx edi, word [esp + eax*2 + 0x7c]
mov esi, 0x1231846b
sub esi, eax
mov ebx, esi
or ebx, edi
and esi, 0x221806b
not ebx
xor esi, edi
xor esi, 0x221fbff
or esi, ebx
mov edi, esi
xor edi, 0xdca0
or esi, 0x235f
and edi, esi
add esi, edi
inc esi
mov word [esp + eax*2 + 0x7c], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x4189c0
mov eax, dword [esp + 0x7c]
mov edx, dword [0x446184]
test edx, edx
je 0x418b0e
xor esi, esi
mov edi, dword [0x446188]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x4b501129
je 0x418ae7
inc esi
cmp edx, esi
jne 0x418a30
jmp 0x418b0e
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0xa70aa70b
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + edx*2 + 8]
mov eax, 0x1231846b
sub eax, edx
mov edi, eax
or edi, esi
and eax, 0x221806b
not edi
xor eax, esi
xor eax, 0x221fbff
or eax, edi
mov esi, eax
xor esi, 0xdca0
or eax, 0x235f
and esi, eax
add eax, esi
inc eax
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418a60
mov edx, dword [0x446184]
test edx, edx
je 0x418c50
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x446188]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418c5b
inc eax
cmp edx, eax
jne 0x418ad0
jmp 0x418c4e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418b0e
lea eax, [esp + 0x64]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x24
test eax, eax
js 0x418bb7
push dword [esp + 0x74]
call dword [0x444f70]
mov eax, dword [esp + 4]
mov dword [esp + 8], 0xa70aa70b
xor ecx, ecx
mov dl, 1
movzx edi, word [esp + ecx*2 + 8]
mov esi, 0x1231846b
sub esi, ecx
mov ebx, esi
or ebx, edi
and esi, 0x221806b
not ebx
xor esi, edi
xor esi, 0x221fbff
or esi, ebx
mov edi, esi
xor edi, 0xdca0
or esi, 0x235f
and edi, esi
add esi, edi
inc esi
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418b30
mov ecx, dword [0x446184]
test ecx, ecx
je 0x418c95
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x446188]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x418c7b
inc esi
cmp ecx, esi
jne 0x418ba0
jmp 0x418c95
push dword [esp + 0x74]
call dword [0x444f70]
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0xa70aa70b
xor edx, edx
mov bl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + edx*2 + 8]
mov eax, 0x1231846b
sub eax, edx
mov edi, eax
or edi, esi
and eax, 0x221806b
not edi
xor eax, esi
xor eax, 0x221fbff
or eax, edi
mov esi, eax
xor esi, 0xdca0
or eax, 0x235f
and esi, eax
add eax, esi
inc eax
mov word [esp + edx*2 + 8], ax
mov edx, 1
xor eax, eax
test bl, 1
mov ebx, 0
jne 0x418be0
mov edx, dword [0x446184]
test edx, edx
je 0x418c50
mov esi, dword [esp + 8]
xor eax, eax
mov edi, dword [0x446188]
nop
nop
cmp dword [edi + eax*8], 0xb430e561
je 0x418c5b
inc eax
cmp edx, eax
jne 0x418c40
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 0x418c50
push ecx
push 4
push edx
push dword [0x44618c]
call fcn.00438b10
xor eax, eax
add esp, 0x10
jmp 0x418c50
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x418c95
push eax
push 4
push ecx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x10
mov dword [esp + 0x58], 0
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2 + 8]
mov edx, 0x1231846b
sub edx, eax
mov edi, edx
or edi, esi
and edx, 0x221806b
not edi
xor edx, esi
xor edx, 0x221fbff
or edx, edi
mov esi, edx
xor esi, 0xdca0
or edx, 0x235f
and esi, edx
add edx, esi
inc edx
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x418cb0
mov eax, dword [esp + 8]
mov ecx, dword [0x446184]
test ecx, ecx
je 0x418d44
xor edx, edx
mov esi, dword [0x446188]
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x418d20
inc edx
cmp ecx, edx
jne 0x418d10
jmp 0x418d44
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x418d44
lea eax, [esp + 0x58]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x1c
mov dword [esp + 8], 0xbdc6fdc1
xor ecx, ecx
mov dl, 1
lea esi, [ecx - 0x41f6d0fb]
mov edi, esi
and edi, 0x12805
xor esi, 0x410338ad
lea esi, [esi + edi*2]
mov edi, esi
and edi, 0x2005
xor edi, 0x2805
and esi, 0x40b2
sub esi, edi
xor si, word [esp + ecx*2 + 8]
add esi, 0x3a98
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x418d50
cmp eax, dword [esp + 8]
jne 0x41960b
push dword [esp + 0x58]
call fcn.00437120
add esp, 4
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 + 8]
mov esi, 0x1231846b
sub esi, eax
mov ebx, esi
or ebx, edi
and esi, 0x221806b
not ebx
xor esi, edi
xor esi, 0x221fbff
or esi, ebx
mov edi, esi
xor edi, 0xdca0
or esi, 0x235f
and edi, esi
add esi, edi
inc esi
mov word [esp + eax*2 + 8], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418dd0
mov eax, dword [esp + 8]
mov edx, dword [0x446184]
test edx, edx
je 0x418e62
xor esi, esi
mov edi, dword [0x446188]
nop
cmp dword [edi + esi*8], 0x67f3d776
je 0x418e40
inc esi
cmp edx, esi
jne 0x418e30
jmp 0x418e62
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x418e62
push 0
push ecx
push dword [esp + 0x54]
push 5
push 0x10
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x1c
test eax, eax
js 0x4195ff
mov eax, dword [esp + 0x4c]
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.004373a0
mov ecx, esi
push 0x1000
call fcn.004373c0
test eax, eax
js 0x4195e5
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [esp + eax*2 + 8]
mov edi, 0x1231846b
sub edi, eax
mov ebp, edi
or ebp, ebx
and edi, 0x221806b
not ebp
xor edi, ebx
xor edi, 0x221fbff
or edi, ebp
mov ebx, edi
xor ebx, 0xdca0
or edi, 0x235f
and ebx, edi
add edi, ebx
inc edi
mov word [esp + eax*2 + 8], di
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418ef0
mov eax, dword [esp + 8]
mov edx, dword [0x446184]
test edx, edx
je 0x418f81
xor edi, edi
mov ebx, dword [0x446188]
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x418f60
inc edi
cmp edx, edi
jne 0x418f50
jmp 0x418f81
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x418f81
lea eax, [esp + 0x44]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x18
test eax, eax
js 0x4195da
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [esp + eax*2 + 8]
mov edi, 0x1231846b
sub edi, eax
mov ebp, edi
or ebp, ebx
and edi, 0x221806b
not ebp
xor edi, ebx
xor edi, 0x221fbff
or edi, ebp
mov ebx, edi
xor ebx, 0xdca0
or edi, 0x235f
and ebx, edi
add edi, ebx
inc edi
mov word [esp + eax*2 + 8], di
mov eax, 1
test dl, 1
mov edx, 0
jne 0x418fa0
mov eax, dword [esp + 8]
mov edx, dword [0x446184]
test edx, edx
je 0x419035
xor edi, edi
mov ebx, dword [0x446188]
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x419010
inc edi
cmp edx, edi
jne 0x419000
jmp 0x419035
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419035
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x20
mov dword [esp], eax
mov dword [esp + 8], 0xe3d2a3f2
xor ecx, ecx
mov al, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + ecx*2 + 8]
lea ebp, [ecx + 0x7b19]
and ebp, edi
mov edx, ebp
and edx, 0x7b19
mov esi, ebp
and esi, 2
mov ebx, ebp
or ebx, 0xfffd
inc ebx
imul ebx, edx
or ebp, 2
imul ebp, esi
sub ebx, ebp
lea edx, [ecx + edi]
add edx, 0x7b19
add edx, ebx
add edx, 0x2738
mov word [esp + ecx*2 + 8], dx
mov ecx, 1
test al, 1
mov eax, 0
jne 0x419050
mov eax, dword [esp]
cmp eax, dword [esp + 8]
jne 0x41952b
push dword [esp + 0x38]
call fcn.00437120
add esp, 4
mov ebp, eax
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], 0xa70aa70b
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [esp + ecx*2 + 8]
mov edi, 0x1231846b
sub edi, ecx
mov esi, edi
or esi, eax
and edi, 0x221806b
not esi
xor edi, eax
xor edi, 0x221fbff
or edi, esi
mov eax, edi
xor eax, 0xdca0
or edi, 0x235f
and eax, edi
add eax, edi
inc eax
mov word [esp + ecx*2 + 8], ax
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x4190e0
mov ecx, dword [esp + 8]
mov edx, dword [0x446184]
test edx, edx
je 0x419178
xor edi, edi
mov eax, dword [0x446188]
nop
nop
nop
cmp dword [eax + edi*8], 0x6e83e51e
je 0x419150
inc edi
cmp edx, edi
jne 0x419140
jmp 0x419178
mov edx, dword [eax + edi*8 + 4]
cmp edx, ecx
je 0x419178
lea eax, [esp + 0x38]
push eax
push ebx
push ebp
push 1
push dword [esp + 0x10]
push 0x14
push edx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x419522
mov eax, dword [ebp]
test eax, eax
je 0x419522
cmp byte [eax], 1
jne 0x419522
cmp byte [eax + 1], 0xf
ja 0x419522
cmp byte [eax + 7], 5
jne 0x419522
cmp byte [eax + 8], 0x12
jne 0x419522
mov edx, dword [esp + 0x44]
mov dword [esp + 8], 0xa70aa70b
xor ecx, ecx
mov bl, 1
movzx esi, word [esp + ecx*2 + 8]
mov eax, 0x1231846b
sub eax, ecx
mov edi, eax
or edi, esi
and eax, 0x221806b
not edi
xor eax, esi
xor eax, 0x221fbff
or eax, edi
mov esi, eax
xor esi, 0xdca0
or eax, 0x235f
and esi, eax
add eax, esi
inc eax
mov word [esp + ecx*2 + 8], ax
mov ecx, 1
test bl, 1
mov ebx, 0
jne 0x4191c2
mov eax, dword [esp + 8]
mov ecx, dword [0x446184]
test ecx, ecx
je 0x419253
xor edi, edi
mov ebx, dword [0x446188]
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41922e
inc edi
cmp ecx, edi
jne 0x41921e
jmp 0x419253
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
je 0x419253
lea ecx, [esp + 0x54]
push ecx
push 0
push 0
push 3
push edx
push 0x14
push esi
push dword [0x44618c]
call fcn.00438b10
add esp, 0x20
mov dword [esp + 0x60], ebp
mov ecx, eax
mov dword [esp + 8], 0x8df2cdd2
xor edx, edx
mov bl, 1
movzx esi, word [esp + edx*2 + 8]
lea eax, [edx + 0xac39]
mov edi, eax
and edi, esi
mov ebp, 0x53c6
sub ebp, edx
and ebp, esi
xor eax, esi
sub eax, esi
add eax, edi
or eax, ebp
add eax, 0xffff9e38
mov word [esp + edx*2 + 8], ax
mov edx, 1
test bl, 1
mov ebx, 0
jne 0x419265
cmp ecx, dword [esp + 8]
mov ebp, dword [esp + 0x60]
jne 0x419522
push dword [esp + 0x54]
call fcn.00437120
add esp, 4
mov ebp, eax
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], 0xa70aa70b
xor eax, eax
mov cl, 1
movzx edx, word [esp + eax*2 + 8]
mov edi, 0x1231846b
sub edi, eax
mov esi, edi
or esi, edx
and edi, 0x221806b
not esi
xor edi, edx
xor edi, 0x221fbff
or edi, esi
mov edx, edi
xor edx, 0xdca0
or edi, 0x235f
and edx, edi
add edx, edi
inc edx
mov word [esp + eax*2 + 8], dx
mov eax, 1
test cl, 1
mov ecx, 0
jne 0x4192d1
mov ecx, dword [esp + 8]
mov eax, dword [0x446184]
test eax, eax
je 0x419367
xor edi, edi
mov edx, dword [0x446188]
cmp dword [edx + edi*8], 0x6e83e51e
je 0x41933f
inc edi
cmp eax, edi
jne 0x41932f
jmp 0x419367
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
je 0x419367
lea ecx, [esp + 0x54]
push ecx
push ebx
push ebp
push 3
push dword [esp + 0x10]
push 0x14
push eax
push dword [0x44618c]
call fcn.00438b10
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x419515
mov ecx, dword [ebp]
test ecx, ecx
je 0x419515
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, ebp
add ebx, 0xb
mov byte [esp + 0x42], al
jmp 0x4193c6
add ebx, 0xc
dec ecx
je 0x419515
cmp byte [ebx - 7], dl
jne 0x4193bc
cmp byte [ebx - 6], dh
jne 0x4193bc
cmp byte [ebx - 5], al
jne 0x4193bc
mov ah, byte [esp]
cmp byte [ebx - 4], ah
jne 0x4193bc
mov ah, byte [esp + 0x43]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x42]
jne 0x4193bc
mov ah, byte [esp + 0x41]
cmp byte [ebx - 2], ah
jne 0x4193bc
mov ah, byte [esp + 0x40]
cmp byte [ebx - 1], ah
jne 0x4193bc
mov ah, byte [esp + 0x3f]
cmp byte [ebx], ah
jne 0x4193bc
mov dword [esp], ebp
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], 0xa70aa70b
xor eax, eax
mov dl, 1
movzx esi, word [esp + eax*2 + 0x5c]
mov edi, 0x1231846b
sub edi, eax
mov ebx, edi
or ebx, esi
and edi, 0x221806b
not ebx
xor edi, esi
xor edi, 0x221fbff
or edi, ebx
mov esi, edi
xor esi, 0xdca0
or edi, 0x235f
and esi, edi
add esi, edi
inc esi
mov word [esp + eax*2 + 0x5c], si
mov eax, 1
test dl, 1
mov edx, 0
jne 0x41946a
mov eax, dword [esp + 0x5c]
mov edx, dword [0x446184]
test edx, edx
je 0x419506
xor edi, edi
mov ebx, dword [0x446188]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x4194d9
inc edi
cmp edx, edi
jne 0x4194c9
jmp 0x419506
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x419506
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 [0x44618c]
call fcn.00438b10
add esp, 0x24
test eax, eax
jns 0x419512
mov dword [esp + 0x48], 0
mov ebp, dword [esp]
push ebp
call fcn.00437140
add esp, 4
mov ebp, dword [esp + 0x60]
push ebp
call fcn.00437140
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 0xa70aa70b
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 8]
mov edi, 0x1231846b
sub edi, ecx
mov ebx, edi
or ebx, esi
and edi, 0x221806b
not ebx
xor edi, esi
xor edi, 0x221fbff
or edi, ebx
mov esi, edi
xor esi, 0xdca0
or edi, 0x235f
and esi, edi
add esi, edi
inc esi
mov word [esp + ecx*2 + 8], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x419540
mov ecx, dword [0x446184]
test ecx, ecx
lea esi, [esp + 0x7c]
je 0x4195da
mov edx, dword [esp + 8]
xor edi, edi
mov ebx, dword [0x446188]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x4195c0
inc edi
cmp ecx, edi
jne 0x4195b0
jmp 0x4195da
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4195da
push eax
push 4
push ecx
push dword [0x44618c]
call fcn.00438b10
add esp, 0x10
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x8c]
mov ecx, esi
call fcn.00437520
cmp dword [esp + 0x48], 0
jne 0x4195ff
add ebx, edi
mov edi, dword [ebx]
test edi, edi
jne 0x418e80
push dword [esp + 0x4c]
call fcn.00437140
add esp, 4
mov eax, dword [esp + 0x48]
jmp 0x418c50