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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa0
mov dword [esp + 0x4c], 0
mov dword [esp], 0
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x14]
mov edx, ecx
xor edx, 0x5f1b762e
mov esi, eax
and esi, 2
sub esi, edx
mov edx, 0x39e54287
sub edx, esi
add esi, 0xc61abd78
mov ebx, esi
and ebx, 0x40b2014c
and edx, 0x99001813
or edx, ebx
or esi, edi
xor edx, edi
xor edx, 0xbf4d5e13
and edx, esi
mov esi, edx
and esi, 0xd
xor edx, 0x8d
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x14], dl
inc ecx
add eax, 2
cmp ecx, 4
jne 0x419ce0
mov eax, dword [esp + 0x14]
mov ecx, dword [0x44c008]
test ecx, ecx
je 0x419d82
xor edx, edx
mov esi, dword [0x44c00c]
cmp dword [esi + edx*8], 0x89bc83a7
je 0x419d60
inc edx
cmp ecx, edx
jne 0x419d50
jmp 0x419d82
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x419d82
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x419e40
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x14]
mov edx, ecx
xor edx, 0x5f1b762e
mov esi, eax
and esi, 2
sub esi, edx
mov edx, 0x39e54287
sub edx, esi
add esi, 0xc61abd78
mov ebx, esi
and ebx, 0x40b2014c
and edx, 0x99001813
or edx, ebx
or esi, edi
xor edx, edi
xor edx, 0xbf4d5e13
and edx, esi
mov esi, edx
and esi, 0xd
xor edx, 0x8d
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x14], dl
inc ecx
add eax, 2
cmp ecx, 4
jne 0x419da0
mov eax, dword [0x44c008]
test eax, eax
je 0x419e40
mov ecx, dword [esp + 0x14]
xor edx, edx
mov esi, dword [0x44c00c]
nop
cmp dword [esi + edx*8], 0xeb857808
je 0x419e20
inc edx
cmp eax, edx
jne 0x419e10
jmp 0x419e40
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x419e40
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x41a4ee
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, eax
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x419e60
mov eax, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x419f05
xor esi, esi
mov edi, dword [0x44c00c]
cmp dword [edi + esi*8], 0x8869e8e9
je 0x419ee0
inc esi
cmp edx, esi
jne 0x419ed0
jmp 0x419f05
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x419f05
lea eax, [esp + 0xc]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41a020
push dword [esp + 0xc]
call fcn.0043a9d0
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], 0x3c3d3a3b
xor ecx, ecx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 0x14]
mov ebx, edi
xor ebx, 0x5f1b762e
mov ebp, ecx
and ebp, 2
sub ebp, ebx
mov ebx, 0x39e54287
sub ebx, ebp
add ebp, 0xc61abd78
mov esi, ebp
and esi, 0x40b2014c
and ebx, 0x99001813
or ebx, esi
or ebp, edx
xor ebx, edx
xor ebx, 0xbf4d5e13
and ebx, ebp
mov edx, ebx
and edx, 0xd
xor ebx, 0x8d
lea edx, [ebx + edx*2]
inc dl
mov byte [esp + edi + 0x14], dl
inc edi
add ecx, 2
cmp edi, 4
jne 0x419f40
mov ecx, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x419fef
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x419fc0
inc edi
cmp edx, edi
jne 0x419fb0
jmp 0x419fef
mov edi, dword [ebx + edi*8 + 4]
cmp edi, ecx
je 0x419fef
lea ecx, [esp + 0xc]
push ecx
push dword [esp + 0x5c]
push eax
push 1
push dword [esp + 0x6c]
push 0x14
push edi
push dword [0x44c010]
mov esi, eax
call fcn.0043d3e0
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x41a017
mov ecx, dword [eax]
test ecx, ecx
je 0x41a017
cmp byte [ecx], 1
jne 0x41a017
cmp byte [ecx + 1], 0xf
ja 0x41a017
cmp byte [ecx + 7], 5
jne 0x41a017
cmp byte [ecx + 8], 0x12
jne 0x41a017
mov ecx, dword [esp]
mov dword [esp + 0x4c], ecx
push eax
call fcn.0043aa40
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x41a4f0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [0x44ace0]
mov dword [esp + 0x14], 0x57fa49e9
mov dword [esp + 0x18], 0x53f355ee
mov dword [esp + 0x1c], 0x5ff751e0
mov dword [esp + 0x20], 0x5b245d23
mov dword [esp + 0x24], 0xa70a592a
mov dword [esp + 0x28], 0xa316a510
mov word [esp + 0x2c], 0xa1a0
mov dword [esp + 0x2e], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x14]
mov edi, ecx
and edi, 0x1c
mov ebx, edx
xor ebx, 0x337e61ee
add ebx, edi
xor ebx, esi
add ebx, 0xfe881659
mov esi, ebx
and esi, 1
xor ebx, 1
lea ebx, [ebx + esi*2]
mov byte [esp + edx + 0x14], bl
inc edx
add ecx, 2
cmp edx, 0x1e
jne 0x41a090
lea ebp, [esp + 0x14]
push 0x800
push 0
push ebp
call eax
lea ecx, [esp + 0x8c]
push eax
call fcn.0043beb0
test al, al
je 0x41a2a7
mov dword [esp + 0x7c], 1
mov dword [esp + 0x88], 2
push 0x367fa9e7
push dword [esp + 0x90]
call fcn.0043ef60
add esp, 8
mov dword [esp + 0x14], 0x21992789
mov dword [esp + 0x18], 0x3d9523fb
mov dword [esp + 0x1c], 0x39813f8c
mov dword [esp + 0x20], 0x35b73b8a
mov dword [esp + 0x24], 0x31803785
mov dword [esp + 0x28], 0xdbe3393
mov dword [esp + 0x2c], 0x9de0fb3
mov dword [esp + 0x30], 0x5b10bba
mov dword [esp + 0x34], 0x1bd078a
mov dword [esp + 0x38], 0x1dbd03b4
mov dword [esp + 0x3c], 0x19a11fa5
mov word [esp + 0x40], 0x1b18
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov ecx, 0xfad6eec9
mov edx, 0x1291136
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x529114b]
mov edi, edx
and edi, 0x10111b1
mov ebx, ecx
and ebx, 0xe202444e
or ebx, edi
xor ebx, esi
mov edi, ebx
xor edi, 0xb1
mov esi, ebx
and esi, 0xed
xor esi, 0x5e
add esi, edi
mov edi, ebx
xor edi, 0xa3
and ebx, 0x12
xor ebx, 0x10
or ebx, edi
add ebx, esi
add bl, 2
mov byte [esp + ecx + 0x529114b], bl
inc ecx
dec edx
cmp ecx, 0xfad6eefc
jne 0x41a190
lea ecx, [esp + 0x80]
push ecx
push ebp
push 0
call eax
test eax, eax
je 0x41a447
mov ecx, dword [esp]
mov dword [esp + 0x6c], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x6c]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, eax
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x6c], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a210
mov eax, dword [esp + 0x6c]
mov edx, dword [0x44c008]
test edx, edx
je 0x41a37e
xor esi, esi
mov edi, dword [0x44c00c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x845fa972
je 0x41a357
inc esi
cmp edx, esi
jne 0x41a290
jmp 0x41a37e
mov ecx, dword [esp]
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, eax
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a2c0
mov eax, dword [0x44c008]
test eax, eax
je 0x41a4ee
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44c00c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a4fb
inc esi
cmp eax, esi
jne 0x41a340
jmp 0x41a4ee
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a37e
lea eax, [esp + 0x7c]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x24
test eax, eax
js 0x41a447
push dword [esp + 0x8c]
call dword [0x44adf4]
mov eax, dword [esp]
mov dword [esp + 0x14], 0x3c3d3a3b
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, ecx
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add ecx, 2
cmp edx, 4
jne 0x41a3b0
mov ecx, dword [0x44c008]
test ecx, ecx
je 0x41a535
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44c00c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a51b
inc esi
cmp ecx, esi
jne 0x41a430
jmp 0x41a535
push dword [esp + 0x8c]
call dword [0x44adf4]
mov ecx, dword [esp]
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, eax
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a470
mov eax, dword [0x44c008]
test eax, eax
je 0x41a4ee
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44c00c]
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a4fb
inc esi
cmp eax, esi
jne 0x41a4e0
xor eax, eax
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41a4f0
push ecx
push 4
push esi
push dword [0x44c010]
call fcn.0043d3e0
xor eax, eax
add esp, 0x10
jmp 0x41a4f0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a535
push eax
push 4
push ecx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x10
mov dword [esp + 0x64], 0
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x14]
mov edx, ecx
xor edx, 0x5f1b762e
mov esi, eax
and esi, 2
sub esi, edx
mov edx, 0x39e54287
sub edx, esi
add esi, 0xc61abd78
mov ebx, esi
and ebx, 0x40b2014c
and edx, 0x99001813
or edx, ebx
or esi, edi
xor edx, edi
xor edx, 0xbf4d5e13
and edx, esi
mov esi, edx
and esi, 0xd
xor edx, 0x8d
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x14], dl
inc ecx
add eax, 2
cmp ecx, 4
jne 0x41a550
mov eax, dword [esp + 0x14]
mov ecx, dword [0x44c008]
test ecx, ecx
je 0x41a5f4
xor edx, edx
mov esi, dword [0x44c00c]
cmp dword [esi + edx*8], 0x61813e67
je 0x41a5d0
inc edx
cmp ecx, edx
jne 0x41a5c0
jmp 0x41a5f4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41a5f4
lea eax, [esp + 0x64]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x1c
mov dword [esp + 0x14], 0x91cecfc8
mov ecx, 0x769f512d
mov esi, 0x960aed2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x769f5119]
mov edi, ebx
and edi, ecx
add edi, edi
mov edx, edi
xor edx, ecx
and edi, esi
add edi, edi
sub edx, edi
add dl, bl
add dl, 0x1f
mov byte [esp + ecx - 0x769f5119], dl
inc ecx
dec esi
cmp ecx, 0x769f5131
jne 0x41a610
cmp eax, dword [esp + 0x14]
jne 0x41ae91
push dword [esp + 0x64]
call fcn.0043a9d0
add esp, 4
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov edi, eax
and edi, 2
sub edi, esi
mov esi, 0x39e54287
sub esi, edi
add edi, 0xc61abd78
mov ebp, edi
and ebp, 0x40b2014c
and esi, 0x99001813
or esi, ebp
or edi, ebx
xor esi, ebx
xor esi, 0xbf4d5e13
and esi, edi
mov edi, esi
and edi, 0xd
xor esi, 0x8d
lea ebx, [esi + edi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a670
mov eax, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41a712
xor esi, esi
mov edi, dword [0x44c00c]
cmp dword [edi + esi*8], 0x61813e67
je 0x41a6f0
inc esi
cmp edx, esi
jne 0x41a6e0
jmp 0x41a712
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a712
push 0
push ecx
push dword [esp + 0x5c]
push 5
push 0x10
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x1c
test eax, eax
js 0x41ae85
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x54]
mov edi, dword [eax]
lea esi, [esp + 0x6c]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebx + edi + 0x44]
mov dword [esp + 0x74], eax
mov ecx, esi
push 0x1000
call fcn.0043ad10
test eax, eax
js 0x41ae69
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edx + 0x14]
mov edi, edx
xor edi, 0x5f1b762e
mov ebx, eax
and ebx, 2
sub ebx, edi
mov edi, 0x39e54287
sub edi, ebx
add ebx, 0xc61abd78
mov ecx, ebx
and ecx, 0x40b2014c
and edi, 0x99001813
or edi, ecx
or ebx, ebp
xor edi, ebp
xor edi, 0xbf4d5e13
and edi, ebx
mov ecx, edi
and ecx, 0xd
xor edi, 0x8d
lea ecx, [edi + ecx*2]
inc cl
mov byte [esp + edx + 0x14], cl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a790
mov eax, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41a834
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0xeb857808
je 0x41a810
inc edi
cmp edx, edi
jne 0x41a800
jmp 0x41a834
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a834
lea eax, [esp + 0x48]
push eax
push 0xa
push dword [esp + 0x10]
push 0xc
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x18
test eax, eax
js 0x41ae5a
mov esi, dword [esp + 0x48]
mov dword [esp + 0x14], 0x3c3d3a3b
xor eax, eax
xor edx, edx
nop
nop
nop
nop
movzx ebp, byte [esp + edx + 0x14]
mov edi, edx
xor edi, 0x5f1b762e
mov ebx, eax
and ebx, 2
sub ebx, edi
mov edi, 0x39e54287
sub edi, ebx
add ebx, 0xc61abd78
mov ecx, ebx
and ecx, 0x40b2014c
and edi, 0x99001813
or edi, ecx
or ebx, ebp
xor edi, ebp
xor edi, 0xbf4d5e13
and edi, ebx
mov ecx, edi
and ecx, 0xd
xor edi, 0x8d
lea ecx, [edi + ecx*2]
inc cl
mov byte [esp + edx + 0x14], cl
inc edx
add eax, 2
cmp edx, 4
jne 0x41a850
mov eax, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41a8f5
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41a8d0
inc edi
cmp edx, edi
jne 0x41a8c0
jmp 0x41a8f5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a8f5
lea eax, [esp + 0xc]
push eax
push 0
push 0
push 1
push esi
push 0x14
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41ad9b
push dword [esp + 0xc]
call fcn.0043a9d0
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], 0x3c3d3a3b
xor ebx, ebx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edi + 0x14]
mov edx, edi
xor edx, 0x5f1b762e
mov ecx, ebx
and ecx, 2
sub ecx, edx
mov edx, 0x39e54287
sub edx, ecx
add ecx, 0xc61abd78
mov esi, ecx
and esi, 0x40b2014c
and edx, 0x99001813
or edx, esi
or ecx, ebp
xor edx, ebp
xor edx, 0xbf4d5e13
and edx, ecx
mov ecx, edx
and ecx, 0xd
xor edx, 0x8d
lea ecx, [edx + ecx*2]
inc cl
mov byte [esp + edi + 0x14], cl
inc edi
add ebx, 2
cmp edi, 4
jne 0x41a930
mov ecx, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41a9df
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41a9b0
inc edi
cmp edx, edi
jne 0x41a9a0
jmp 0x41a9df
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x41a9df
lea ecx, [esp + 0xc]
push ecx
push dword [esp + 8]
push eax
push 1
push dword [esp + 0x18]
push 0x14
push edx
push dword [0x44c010]
mov edi, eax
call fcn.0043d3e0
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41ad92
mov ecx, dword [eax]
test ecx, ecx
je 0x41ad92
cmp byte [ecx], 1
jne 0x41ad92
cmp byte [ecx + 1], 0xf
ja 0x41ad92
cmp byte [ecx + 7], 5
jne 0x41ad92
cmp byte [ecx + 8], 0x12
jne 0x41ad92
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], 0x3c3d3a3b
xor edx, edx
xor edi, edi
movzx ebp, byte [esp + edi + 0x14]
mov esi, edi
xor esi, 0x5f1b762e
mov ecx, edx
and ecx, 2
sub ecx, esi
mov ebx, 0x39e54287
sub ebx, ecx
add ecx, 0xc61abd78
mov esi, ecx
and esi, 0x40b2014c
and ebx, 0x99001813
or ebx, esi
or ecx, ebp
xor ebx, ebp
xor ebx, 0xbf4d5e13
and ebx, ecx
mov ecx, ebx
and ecx, 0xd
xor ebx, 0x8d
lea ecx, [ebx + ecx*2]
inc cl
mov byte [esp + edi + 0x14], cl
inc edi
add edx, 2
cmp edi, 4
jne 0x41aa2c
mov ecx, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41aada
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41aaac
inc edi
cmp edx, edi
jne 0x41aa9c
jmp 0x41aada
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x41aada
lea ecx, [esp + 0x60]
push ecx
push 0
push 0
push 3
push dword [esp + 0x18]
push 0x14
push edx
push dword [0x44c010]
mov edi, eax
call fcn.0043d3e0
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41ad92
mov dword [esp + 8], eax
push dword [esp + 0x60]
call fcn.0043a9d0
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0x3c3d3a3b
xor ebx, ebx
xor edi, edi
movzx ebp, byte [esp + edi + 0x14]
mov edx, edi
xor edx, 0x5f1b762e
mov ecx, ebx
and ecx, 2
sub ecx, edx
mov edx, 0x39e54287
sub edx, ecx
add ecx, 0xc61abd78
mov esi, ecx
and esi, 0x40b2014c
and edx, 0x99001813
or edx, esi
or ecx, ebp
xor edx, ebp
xor edx, 0xbf4d5e13
and edx, ecx
mov ecx, edx
and ecx, 0xd
xor edx, 0x8d
lea ecx, [edx + ecx*2]
inc cl
mov byte [esp + edi + 0x14], cl
inc edi
add ebx, 2
cmp edi, 4
jne 0x41ab12
mov ecx, dword [esp + 0x14]
mov edx, dword [0x44c008]
test edx, edx
je 0x41ab94
xor edi, edi
mov ebx, dword [0x44c00c]
mov esi, eax
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41ab98
inc edi
cmp edx, edi
jne 0x41ab84
jmp 0x41abc5
mov esi, eax
jmp 0x41abc5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, ecx
je 0x41abc5
lea ecx, [esp + 0x60]
push ecx
push dword [esp + 0x54]
push esi
push 3
push dword [esp + 0x14]
push 0x14
push edx
push dword [0x44c010]
mov edi, esi
call fcn.0043d3e0
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x41ad85
mov ecx, dword [esi]
test ecx, ecx
je 0x41ad85
movzx edx, byte [esp + 0x80]
mov dh, byte [esp + 0x81]
movzx ebx, byte [esp + 0x82]
movzx eax, byte [esp + 0x83]
mov bh, byte [esp + 0x84]
mov byte [esp + 4], bh
mov bh, byte [esp + 0x85]
mov ah, byte [esp + 0x86]
mov byte [esp + 0x50], ah
mov ah, byte [esp + 0x87]
mov byte [esp + 0x13], ah
mov edi, esi
add edi, 0xb
jmp 0x41ac2f
add edi, 0xc
dec ecx
je 0x41ad85
cmp byte [edi - 7], dl
jne 0x41ac25
cmp byte [edi - 6], dh
jne 0x41ac25
cmp byte [edi - 5], bl
jne 0x41ac25
cmp byte [edi - 4], al
jne 0x41ac25
mov ah, byte [esp + 4]
cmp byte [edi - 3], ah
jne 0x41ac25
cmp byte [edi - 2], bh
jne 0x41ac25
mov ah, byte [esp + 0x50]
cmp byte [edi - 1], ah
jne 0x41ac25
mov ah, byte [esp + 0x13]
cmp byte [edi], ah
jne 0x41ac25
mov dword [esp + 4], esi
mov dword [esp + 0x94], 0xc
mov dword [esp + 0x98], 2
mov word [esp + 0x9c], 1
mov dword [esp + 0x14], 0x18
lea eax, [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x94]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], 0x3c3d3a3b
xor eax, eax
xor edx, edx
movzx ebp, byte [esp + edx + 0x68]
mov esi, edx
xor esi, 0x5f1b762e
mov ebx, eax
and ebx, 2
sub ebx, esi
mov edi, 0x39e54287
sub edi, ebx
add ebx, 0xc61abd78
mov esi, ebx
and esi, 0x40b2014c
and edi, 0x99001813
or edi, esi
or ebx, ebp
xor edi, ebp
xor edi, 0xbf4d5e13
and edi, ebx
mov esi, edi
and esi, 0xd
xor edi, 0x8d
lea ebx, [edi + esi*2]
inc bl
mov byte [esp + edx + 0x68], bl
inc edx
add eax, 2
cmp edx, 4
jne 0x41acc8
mov eax, dword [esp + 0x68]
mov edx, dword [0x44c008]
test edx, edx
je 0x41ad75
xor edi, edi
mov ebx, dword [0x44c00c]
cmp dword [ebx + edi*8], 0xa6d9b1ac
je 0x41ad48
inc edi
cmp edx, edi
jne 0x41ad38
jmp 0x41ad75
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41ad75
lea eax, [esp + 0x4c]
push eax
push 2
push 0
lea eax, [esp + 0x20]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x24
test eax, eax
jns 0x41ad81
mov dword [esp + 0x4c], 0
mov esi, dword [esp + 4]
push esi
call fcn.0043aa40
add esp, 4
mov eax, dword [esp + 8]
push eax
call fcn.0043aa40
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], 0x3c3d3a3b
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edx + 0x14]
mov esi, edx
xor esi, 0x5f1b762e
mov ebx, ecx
and ebx, 2
sub ebx, esi
mov edi, 0x39e54287
sub edi, ebx
add ebx, 0xc61abd78
mov esi, ebx
and esi, 0x40b2014c
and edi, 0x99001813
or edi, esi
or ebx, ebp
xor edi, ebp
xor edi, 0xbf4d5e13
and edi, ebx
mov esi, edi
and esi, 0xd
xor edi, 0x8d
lea ebx, [edi + esi*2]
inc bl
mov byte [esp + edx + 0x14], bl
inc edx
add ecx, 2
cmp edx, 4
jne 0x41adb0
mov ecx, dword [0x44c008]
test ecx, ecx
lea esi, [esp + 0x6c]
je 0x41ae5a
mov edx, dword [esp + 0x14]
xor edi, edi
mov ebx, dword [0x44c00c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x41ae40
inc edi
cmp ecx, edi
jne 0x41ae30
jmp 0x41ae5a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41ae5a
push eax
push 4
push ecx
push dword [0x44c010]
call fcn.0043d3e0
add esp, 0x10
mov ecx, esi
call fcn.0043ae60
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
cmp dword [esp + 0x4c], 0
jne 0x41ae7c
add ebx, edi
mov edi, dword [ebx]
test edi, edi
jne 0x41a750
lea ecx, [esp + 0x6c]
call fcn.0043ae60
push dword [esp + 0x54]
call fcn.0043aa40
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x41a4f0