Function at 0x419c60
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov dword [esp + 0x44], 0
mov dword [esp], 0
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 4]
mov edi, eax
and edi, 0xc
mov edx, ecx
xor edx, 0xd0d0c9b6
add edx, edi
xor esi, 0xbbce86bf
xor edx, 0xbbce86bf
mov edi, esi
and edi, edx
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
not esi
and esi, 0xb1
and edx, 0x4e
sub edx, esi
inc dl
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 6
jne 0x419c90
mov eax, dword [esp + 4]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x419d22
xor edx, edx
mov esi, dword [0x44aea4]
nop
nop
cmp dword [esi + edx*8], 0xa896961c
je 0x419d00
inc edx
cmp ecx, edx
jne 0x419cf0
jmp 0x419d22
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x419d22
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x419dd0
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor ecx, ecx
movzx esi, byte [esp + ecx + 4]
mov edi, eax
and edi, 0xc
mov edx, ecx
xor edx, 0xd0d0c9b6
add edx, edi
xor esi, 0xbbce86bf
xor edx, 0xbbce86bf
mov edi, esi
and edi, edx
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
not esi
and esi, 0xb1
and edx, 0x4e
sub edx, esi
inc dl
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 6
jne 0x419d40
mov eax, dword [0x44aea0]
test eax, eax
je 0x419dd0
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x44aea4]
nop
nop
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x419db0
inc edx
cmp eax, edx
jne 0x419da0
jmp 0x419dd0
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x419dd0
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x41a3fe
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor edx, edx
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, eax
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x419df0
mov eax, dword [esp + 4]
mov edx, dword [0x44aea0]
test edx, edx
je 0x419e85
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
cmp dword [edi + esi*8], 0x6e83e51e
je 0x419e60
inc esi
cmp edx, esi
jne 0x419e50
jmp 0x419e85
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x419e85
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x419f8e
push dword [esp + 0x38]
call fcn.0043a000
add esp, 4
mov esi, dword [esp + 0x38]
mov ecx, dword [esp]
mov dword [esp + 0x54], ecx
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edi + 4]
mov ecx, edx
and ecx, 0xc
mov ebx, edi
xor ebx, 0xd0d0c9b6
add ebx, ecx
xor ebp, 0xbbce86bf
xor ebx, 0xbbce86bf
mov ecx, ebp
and ecx, ebx
add ebx, ebp
add ecx, ecx
sub ebx, ecx
mov ecx, ebx
not ecx
and ecx, 0xb1
and ebx, 0x4e
sub ebx, ecx
inc bl
mov byte [esp + edi + 4], bl
inc edi
add edx, 2
cmp edi, 6
jne 0x419ec0
mov ecx, dword [esp + 4]
mov edi, dword [0x44aea0]
test edi, edi
je 0x419f5d
xor ebx, ebx
mov ebp, dword [0x44aea4]
nop
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x419f31
inc ebx
cmp edi, ebx
jne 0x419f20
jmp 0x419f5d
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x419f5d
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push dword [esp + 0x64]
push 0x14
push edi
push dword [0x44aea8]
mov esi, eax
call fcn.0043b9a0
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x419f85
mov ecx, dword [eax]
test ecx, ecx
je 0x419f85
cmp byte [ecx], 1
jne 0x419f85
cmp byte [ecx + 1], 0xf
ja 0x419f85
cmp byte [ecx + 7], 5
jne 0x419f85
cmp byte [ecx + 8], 0x12
jne 0x419f85
mov ecx, dword [esp]
mov dword [esp + 0x44], ecx
push eax
call fcn.0043a020
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x41a400
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov eax, dword [0x449b78]
mov dword [esp + 4], 0x46a144a2
mov dword [esp + 8], 0x7a9878d1
mov dword [esp + 0xc], 0x7ee47ceb
mov dword [esp + 0x10], 0x72a370ac
mov dword [esp + 0x14], 0x769174ad
mov dword [esp + 0x18], 0x6af568eb
mov dword [esp + 0x1c], 0x6c6b
mov ecx, 0xa0040165
mov edx, 0x1ffbfe9b
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx - 0x1ffbfe97]
mov edi, edx
or edi, 0xc5c9c229
add edi, ecx
dec ecx
mov ebx, ecx
and ebx, 0x16
xor ebx, 0x1a323c96
or ebx, edi
mov edi, esi
xor edi, 0x29
xor esi, 0xd6
or edi, ebx
not ebx
or ebx, esi
and ebx, edi
add bl, 0x28
mov byte [esp + edx - 0x1ffbfe97], bl
inc edx
cmp edx, 0x1ffbfeb7
jne 0x41a000
lea esi, [esp + 4]
push 0x800
push 0
push esi
call eax
lea ecx, [esp + 0x88]
push eax
call fcn.0043b340
test al, al
je 0x41a1e7
mov dword [esp + 0x78], 1
mov dword [esp + 0x84], 2
push 0x10a6c058
push dword [esp + 0x8c]
call fcn.0043d470
add esp, 8
mov dword [esp + 4], 0x9b7f994b
mov dword [esp + 8], 0x9f739d55
mov dword [esp + 0xc], 0xa347a150
mov dword [esp + 0x10], 0xa755a556
mov dword [esp + 0x14], 0xab44a947
mov dword [esp + 0x18], 0xaf5aad4d
mov dword [esp + 0x1c], 0xb362b155
mov dword [esp + 0x20], 0xb75fb546
mov dword [esp + 0x24], 0xbb53b94e
mov dword [esp + 0x28], 0xbf5bbd50
mov dword [esp + 0x2c], 0x43a741a7
mov word [esp + 0x30], 0x4544
mov byte [esp + 0x32], 0
mov ecx, 0x7dbe14a7
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi]
xor edx, ecx
mov edi, 0x6b2698f6
sub edi, edx
mov edx, edi
and edx, 0x3f
xor edi, 0x3f
lea edx, [edi + edx*2]
add dl, 0xa
mov byte [esi], dl
inc esi
dec ecx
cmp ecx, 0x7dbe1478
jne 0x41a100
lea ecx, [esp + 0x7c]
lea edx, [esp + 4]
push ecx
push edx
push 0
call eax
test eax, eax
je 0x41a367
mov ecx, dword [esp]
mov dword [esp + 0x68], 0x16171819
mov word [esp + 0x6c], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x68]
mov edi, eax
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 0x68], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41a160
mov eax, dword [esp + 0x68]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41a2ae
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x4b501129
je 0x41a287
inc esi
cmp edx, esi
jne 0x41a1d0
jmp 0x41a2ae
mov ecx, dword [esp]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor edx, edx
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, eax
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41a200
mov eax, dword [0x44aea0]
test eax, eax
je 0x41a3fe
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a40b
inc esi
cmp eax, esi
jne 0x41a270
jmp 0x41a3fe
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a2ae
lea eax, [esp + 0x78]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x24
test eax, eax
js 0x41a367
push dword [esp + 0x88]
call dword [0x449c8c]
mov eax, dword [esp]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, ecx
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 6
jne 0x41a2e0
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x41a445
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a42b
inc esi
cmp ecx, esi
jne 0x41a350
jmp 0x41a445
push dword [esp + 0x88]
call dword [0x449c8c]
mov ecx, dword [esp]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, eax
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41a390
mov eax, dword [0x44aea0]
test eax, eax
je 0x41a3fe
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a40b
inc esi
cmp eax, esi
jne 0x41a3f0
xor eax, eax
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41a400
push ecx
push 4
push esi
push dword [0x44aea8]
call fcn.0043b9a0
xor eax, eax
add esp, 0x10
jmp 0x41a400
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a445
push eax
push 4
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x10
mov dword [esp + 0x5c], 0
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor ecx, ecx
movzx esi, byte [esp + ecx + 4]
mov edi, eax
and edi, 0xc
mov edx, ecx
xor edx, 0xd0d0c9b6
add edx, edi
xor esi, 0xbbce86bf
xor edx, 0xbbce86bf
mov edi, esi
and edi, edx
add edx, esi
add edi, edi
sub edx, edi
mov esi, edx
not esi
and esi, 0xb1
and edx, 0x4e
sub edx, esi
inc dl
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 6
jne 0x41a460
mov eax, dword [esp + 4]
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x41a4f4
xor edx, edx
mov esi, dword [0x44aea4]
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x41a4d0
inc edx
cmp ecx, edx
jne 0x41a4c0
jmp 0x41a4f4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41a4f4
lea eax, [esp + 0x5c]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x1c
mov dword [esp + 4], 0x2c1c0cb
xor edx, edx
mov ecx, edx
mov ebx, edx
add bl, 0x77
xor bl, byte [esp + edx + 4]
add bl, 0x48
mov byte [esp + edx + 4], bl
and ecx, 1
not edx
or edx, 1
sub ecx, edx
mov edx, ecx
cmp ecx, 4
jb 0x41a500
cmp eax, dword [esp + 4]
jne 0x41ad18
push dword [esp + 0x5c]
call fcn.0043a000
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, eax
and edi, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, edi
xor esi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, ebx
not esi
and esi, 0xb1
and ebx, 0x4e
sub ebx, esi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41a560
mov eax, dword [esp + 4]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41a5fc
xor esi, esi
mov edi, dword [0x44aea4]
nop
nop
cmp dword [edi + esi*8], 0x67f3d776
je 0x41a5da
mov ebx, esi
and ebx, 1
xor esi, 1
lea esi, [esi + ebx*2]
cmp esi, edx
jb 0x41a5c0
jmp 0x41a5fc
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a5fc
push 0
push ecx
push dword [esp + 0x58]
push 5
push 0x10
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x1c
test eax, eax
js 0x41ad0c
mov esi, dword [esp + 0x50]
mov ebx, dword [esi]
lea edi, [esp + 0x68]
nop
nop
mov eax, dword [esi + ebx + 0x44]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov ecx, edi
push 0
push eax
call fcn.0043a2c0
mov ecx, edi
push 0x1000
call fcn.0043a2e0
test eax, eax
js 0x41acf2
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ebp, ebp
xor edx, edx
nop
nop
nop
movzx edi, byte [esp + edx + 4]
mov eax, ebp
and eax, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, eax
xor edi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov eax, edi
and eax, ebx
add ebx, edi
add eax, eax
sub ebx, eax
mov eax, ebx
not eax
and eax, 0xb1
and ebx, 0x4e
sub ebx, eax
inc bl
mov byte [esp + edx + 4], bl
inc edx
add ebp, 2
cmp edx, 6
jne 0x41a670
mov eax, dword [esp + 4]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41a701
xor edi, edi
mov ebx, dword [0x44aea4]
nop
nop
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x41a6e0
inc edi
cmp edx, edi
jne 0x41a6d0
jmp 0x41a701
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a701
lea eax, [esp + 0x40]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x18
test eax, eax
js 0x41acea
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor eax, eax
xor edx, edx
movzx edi, byte [esp + edx + 4]
mov ebp, eax
and ebp, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, ebp
xor edi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov ebp, edi
and ebp, ebx
add ebx, edi
add ebp, ebp
sub ebx, ebp
mov edi, ebx
not edi
and edi, 0xb1
and ebx, 0x4e
sub ebx, edi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41a720
mov eax, dword [esp + 4]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41a7b5
xor edi, edi
mov ebx, dword [0x44aea4]
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41a790
inc edi
cmp edx, edi
jne 0x41a780
jmp 0x41a7b5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a7b5
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41ac3e
push dword [esp + 0x38]
call fcn.0043a000
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ecx, ecx
xor edi, edi
nop
movzx ebx, byte [esp + edi + 4]
mov ebp, ecx
and ebp, 0xc
mov edx, edi
xor edx, 0xd0d0c9b6
add edx, ebp
xor ebx, 0xbbce86bf
xor edx, 0xbbce86bf
mov ebp, ebx
and ebp, edx
add edx, ebx
add ebp, ebp
sub edx, ebp
mov ebx, edx
not ebx
and ebx, 0xb1
and edx, 0x4e
sub edx, ebx
inc dl
mov byte [esp + edi + 4], dl
inc edi
add ecx, 2
cmp edi, 6
jne 0x41a7f0
mov ecx, dword [esp + 4]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41a88f
xor edi, edi
mov ebx, dword [0x44aea4]
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41a860
inc edi
cmp edx, edi
jne 0x41a850
jmp 0x41a88f
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x41a88f
lea ecx, [esp + 0x38]
push ecx
push dword [esp + 0x38]
push eax
push 1
push dword [esp + 0x58]
push 0x14
push edx
push dword [0x44aea8]
mov edi, eax
call fcn.0043b9a0
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41ac35
mov ecx, dword [eax]
test ecx, ecx
je 0x41ac35
cmp byte [ecx], 1
jne 0x41ac35
cmp byte [ecx + 1], 0xf
ja 0x41ac35
cmp byte [ecx + 7], 5
jne 0x41ac35
cmp byte [ecx + 8], 0x12
jne 0x41ac35
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ecx, ecx
xor edi, edi
movzx edx, byte [esp + edi + 4]
mov ebp, ecx
and ebp, 0xc
mov ebx, edi
xor ebx, 0xd0d0c9b6
add ebx, ebp
xor edx, 0xbbce86bf
xor ebx, 0xbbce86bf
mov ebp, edx
and ebp, ebx
add ebx, edx
add ebp, ebp
sub ebx, ebp
mov edx, ebx
not edx
and edx, 0xb1
and ebx, 0x4e
sub ebx, edx
inc bl
mov byte [esp + edi + 4], bl
inc edi
add ecx, 2
cmp edi, 6
jne 0x41a8e3
mov ecx, dword [esp + 4]
mov edi, dword [0x44aea0]
test edi, edi
je 0x41a97f
xor ebx, ebx
mov edx, dword [0x44aea4]
cmp dword [edx + ebx*8], 0x6e83e51e
je 0x41a951
inc ebx
cmp edi, ebx
jne 0x41a941
jmp 0x41a97f
mov edi, dword [edx + ebx*8 + 4]
cmp edi, ecx
je 0x41a97f
lea ecx, [esp + 0x58]
push ecx
push 0
push 0
push 3
push dword [esp + 0x58]
push 0x14
push edi
push dword [0x44aea8]
mov edi, eax
call fcn.0043b9a0
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41ac35
mov dword [esp + 0x48], eax
push dword [esp + 0x58]
call fcn.0043a000
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ecx, ecx
xor edi, edi
movzx edx, byte [esp + edi + 4]
mov ebp, ecx
and ebp, 0xc
mov eax, edi
xor eax, 0xd0d0c9b6
add eax, ebp
xor edx, 0xbbce86bf
xor eax, 0xbbce86bf
mov ebp, edx
and ebp, eax
add eax, edx
add ebp, ebp
sub eax, ebp
mov edx, eax
not edx
and edx, 0xb1
and eax, 0x4e
sub eax, edx
inc al
mov byte [esp + edi + 4], al
inc edi
add ecx, 2
cmp edi, 6
jne 0x41a9c0
mov ecx, dword [esp + 4]
mov eax, dword [0x44aea0]
test eax, eax
je 0x41aa2d
xor edi, edi
mov edx, dword [0x44aea4]
cmp dword [edx + edi*8], 0x6e83e51e
je 0x41abb5
inc edi
cmp eax, edi
jne 0x41aa1b
mov edi, ebx
test ecx, ecx
js 0x41ac28
mov ecx, dword [edi]
test ecx, ecx
je 0x41ac28
movzx edx, byte [esp + 0x7c]
mov dh, byte [esp + 0x7d]
movzx eax, byte [esp + 0x7e]
mov ah, byte [esp + 0x7f]
mov byte [esp + 0x34], ah
movzx ebx, byte [esp + 0x80]
mov byte [esp + 0x4c], bl
movzx ebx, byte [esp + 0x81]
mov byte [esp + 0x3e], bl
mov ah, byte [esp + 0x82]
mov byte [esp + 0x3d], ah
mov ah, byte [esp + 0x83]
mov byte [esp + 0x3c], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0x3f], al
jmp 0x41aa9a
add ebx, 0xc
dec ecx
je 0x41ac28
cmp byte [ebx - 7], dl
jne 0x41aa90
cmp byte [ebx - 6], dh
jne 0x41aa90
cmp byte [ebx - 5], al
jne 0x41aa90
mov ah, byte [esp + 0x34]
cmp byte [ebx - 4], ah
jne 0x41aa90
mov ah, byte [esp + 0x4c]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x3f]
jne 0x41aa90
mov ah, byte [esp + 0x3e]
cmp byte [ebx - 2], ah
jne 0x41aa90
mov ah, byte [esp + 0x3d]
cmp byte [ebx - 1], ah
jne 0x41aa90
mov ah, byte [esp + 0x3c]
cmp byte [ebx], ah
jne 0x41aa90
mov dword [esp + 0x34], edi
mov dword [esp + 0x90], 0xc
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 1
mov dword [esp + 4], 0x18
lea eax, [esp + 8]
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 + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x62], 0x16171819
mov word [esp + 0x66], 0
xor eax, eax
xor edx, edx
movzx edi, byte [esp + edx + 0x62]
mov ebp, eax
and ebp, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, ebp
xor edi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov ebp, edi
and ebp, ebx
add ebx, edi
add ebp, ebp
sub ebx, ebp
mov edi, ebx
not edi
and edi, 0xb1
and ebx, 0x4e
sub ebx, edi
inc bl
mov byte [esp + edx + 0x62], bl
inc edx
add eax, 2
cmp edx, 6
jne 0x41ab47
mov eax, dword [esp + 0x62]
mov edx, dword [0x44aea0]
test edx, edx
je 0x41ac18
xor edi, edi
mov ebx, dword [0x44aea4]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x41abeb
inc edi
cmp edx, edi
jne 0x41aba5
jmp 0x41ac18
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
mov edi, ebx
je 0x41aa2f
lea ecx, [esp + 0x58]
push ecx
push dword [esp + 0x50]
push edi
push 3
push dword [esp + 0x44]
push 0x14
push eax
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x20
mov ecx, eax
jmp 0x41aa2f
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41ac18
lea eax, [esp + 0x44]
push eax
push 2
push 0
lea eax, [esp + 0x10]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x24
test eax, eax
jns 0x41ac24
mov dword [esp + 0x44], 0
mov edi, dword [esp + 0x34]
push edi
call fcn.0043a020
add esp, 4
mov eax, dword [esp + 0x48]
push eax
call fcn.0043a020
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0x16171819
mov word [esp + 8], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 4]
mov ebp, ecx
and ebp, 0xc
mov ebx, edx
xor ebx, 0xd0d0c9b6
add ebx, ebp
xor edi, 0xbbce86bf
xor ebx, 0xbbce86bf
mov ebp, edi
and ebp, ebx
add ebx, edi
add ebp, ebp
sub ebx, ebp
mov edi, ebx
not edi
and edi, 0xb1
and ebx, 0x4e
sub ebx, edi
inc bl
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 6
jne 0x41ac60
mov ecx, dword [0x44aea0]
test ecx, ecx
je 0x41acea
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x44aea4]
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x41acd0
inc edi
cmp ecx, edi
jne 0x41acc0
jmp 0x41acea
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41acea
push eax
push 4
push ecx
push dword [0x44aea8]
call fcn.0043b9a0
add esp, 0x10
lea edi, [esp + 0x68]
mov ebx, dword [esp + 0x54]
mov ecx, edi
call fcn.0043a450
cmp dword [esp + 0x44], 0
jne 0x41ad0c
add esi, ebx
mov ebx, dword [esi]
test ebx, ebx
jne 0x41a610
push dword [esp + 0x50]
call fcn.0043a020
add esp, 4
mov eax, dword [esp + 0x44]
jmp 0x41a400