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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov dword [esp + 0x48], 0
mov dword [esp], 0
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
lea esi, [eax + 0xbb]
mov ecx, 0x44
sub ecx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
add cl, 0x59
mov byte [esp + eax + 0x10], cl
xor eax, 7
mov ecx, 8
sub ecx, eax
cmp eax, 4
mov eax, ecx
ja 0x41a6a0
mov eax, dword [esp + 0x10]
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x41a722
xor edx, edx
mov esi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x89bc83a7
je 0x41a700
inc edx
cmp ecx, edx
jne 0x41a6f0
jmp 0x41a722
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41a722
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x41a7c0
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
lea esi, [eax + 0xbb]
mov ecx, 0x44
sub ecx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
add cl, 0x59
mov byte [esp + eax + 0x10], cl
xor eax, 7
mov ecx, 8
sub ecx, eax
cmp eax, 4
mov eax, ecx
ja 0x41a740
mov eax, dword [0x44bcdc]
test eax, eax
je 0x41a7c0
mov ecx, dword [esp + 0x10]
xor edx, edx
mov esi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xeb857808
je 0x41a7a0
inc edx
cmp eax, edx
jne 0x41a790
jmp 0x41a7c0
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41a7c0
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x41ad4e
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x10]
lea edi, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41a7e0
mov eax, dword [esp + 0x10]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41a865
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x8869e8e9
je 0x41a840
inc esi
cmp edx, esi
jne 0x41a830
jmp 0x41a865
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a865
lea eax, [esp + 8]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41a94b
push dword [esp + 8]
call fcn.0043a220
add esp, 4
mov esi, dword [esp + 8]
mov edx, dword [esp]
mov dword [esp + 0x10], 0x181b1a1d
xor ecx, ecx
nop
nop
nop
movzx edi, byte [esp + ecx + 0x10]
lea ebp, [ecx + 0xbb]
mov ebx, 0x44
sub ebx, ecx
xor ebx, ebp
and ebx, edi
xor ebx, ebp
add bl, 0x59
mov byte [esp + ecx + 0x10], bl
xor ecx, 7
mov edi, 8
sub edi, ecx
cmp ecx, 4
mov ecx, edi
ja 0x41a890
mov ecx, dword [esp + 0x10]
mov edi, dword [0x44bcdc]
test edi, edi
je 0x41a91a
xor ebx, ebx
mov ebp, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x8869e8e9
je 0x41a8f1
inc ebx
cmp edi, ebx
jne 0x41a8e0
jmp 0x41a91a
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x41a91a
lea ecx, [esp + 8]
push ecx
push esi
push eax
push 1
push edx
push 0x14
push edi
push dword [0x44bce4]
mov esi, eax
call fcn.0043cba0
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x41a942
mov ecx, dword [eax]
test ecx, ecx
je 0x41a942
cmp byte [ecx], 1
jne 0x41a942
cmp byte [ecx + 1], 0xf
ja 0x41a942
cmp byte [ecx + 7], 5
jne 0x41a942
cmp byte [ecx + 8], 0x12
jne 0x41a942
mov ecx, dword [esp]
mov dword [esp + 0x48], ecx
push eax
call fcn.0043a2b0
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x41ad50
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [0x44a9b4]
mov dword [esp + 0x10], 0x1ea07e7
mov dword [esp + 0x14], 0xde103fe
mov dword [esp + 0x18], 0x9e50ffc
mov dword [esp + 0x1c], 0x15380b35
mov dword [esp + 0x20], 0x11fa1722
mov dword [esp + 0x24], 0x1de613e4
mov word [esp + 0x28], 0x1f1c
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
mov ecx, 0x280809c1
mov edx, 0xd7f7f63e
movzx esi, byte [esp + ecx - 0x280809b1]
mov edi, ecx
and edi, 0x80008a7
mov ebx, edx
and ebx, 0xd427e618
or ebx, edi
mov edi, ecx
or edi, esi
xor ebx, esi
xor ebx, 0xf42fe758
and ebx, edi
lea esi, [ebx + ebx]
mov edi, esi
and edi, 0x74
xor ebx, 0x3a
add ebx, edi
and esi, 2
xor ebx, 1
add ebx, esi
mov byte [esp + ecx - 0x280809b1], bl
inc ecx
dec edx
cmp ecx, 0x280809e0
jne 0x41a9c0
lea ebp, [esp + 0x10]
push 0x800
push 0
push ebp
call eax
lea ecx, [esp + 0x80]
push eax
call fcn.0043b790
test al, al
je 0x41aba3
mov dword [esp + 0x70], 1
mov dword [esp + 0x7c], 2
push 0x367fa9e7
push dword [esp + 0x84]
call fcn.0043e7a0
add esp, 8
mov dword [esp + 0x10], 0x812987d9
mov dword [esp + 0x14], 0x8d3583cb
mov dword [esp + 0x18], 0x89218f3c
mov dword [esp + 0x1c], 0x95378b3a
mov dword [esp + 0x20], 0x91209725
mov dword [esp + 0x24], 0x9d2e9333
mov dword [esp + 0x28], 0x99ce9f33
mov dword [esp + 0x2c], 0xe5319b2a
mov dword [esp + 0x30], 0xe14de75a
mov dword [esp + 0x34], 0xed4de354
mov dword [esp + 0x38], 0xe941ef45
mov dword [esp + 0x3c], 0xebe8
mov byte [esp + 0x40], 0
mov ecx, 0x6ed2921
nop
movzx edx, byte [esp + ecx - 0x6ed2911]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov edi, edx
xor edi, 0x22a1cda5
mov esi, edx
or esi, 0xdd5e325a
and esi, edi
mov ebx, edx
and ebx, 2
mov edi, esi
or esi, 2
imul esi, ebx
xor ebx, 2
and edi, 0xfd
imul edi, ebx
xor edx, 0x5a
add edx, esi
add edx, edi
inc dl
mov byte [esp + ecx - 0x6ed2911], dl
inc ecx
cmp ecx, 0x6ed2952
jne 0x41aac0
lea ecx, [esp + 0x74]
push ecx
push ebp
push 0
call eax
test eax, eax
je 0x41acc7
mov ecx, dword [esp]
mov dword [esp + 0x60], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x60]
lea edi, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + eax + 0x60], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41ab40
mov eax, dword [esp + 0x60]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41ac3e
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x845fa972
je 0x41ac17
inc esi
cmp edx, esi
jne 0x41ab90
jmp 0x41ac3e
mov ecx, dword [esp]
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
movzx esi, byte [esp + eax + 0x10]
lea edi, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41abb0
mov eax, dword [0x44bcdc]
test eax, eax
je 0x41ad4e
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41ad5b
inc esi
cmp eax, esi
jne 0x41ac00
jmp 0x41ad4e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41ac3e
lea eax, [esp + 0x70]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x24
test eax, eax
js 0x41acc7
push dword [esp + 0x80]
call dword [0x44aac8]
mov eax, dword [esp]
mov dword [esp + 0x10], 0x181b1a1d
xor ecx, ecx
movzx esi, byte [esp + ecx + 0x10]
lea edi, [ecx + 0xbb]
mov edx, 0x44
sub edx, ecx
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + ecx + 0x10], dl
xor ecx, 7
mov edx, 8
sub edx, ecx
cmp ecx, 4
mov ecx, edx
ja 0x41ac60
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x41ad95
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41ad7b
inc esi
cmp ecx, esi
jne 0x41acb0
jmp 0x41ad95
push dword [esp + 0x80]
call dword [0x44aac8]
mov ecx, dword [esp]
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x10]
lea edi, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41acf0
mov eax, dword [0x44bcdc]
test eax, eax
je 0x41ad4e
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41ad5b
inc esi
cmp eax, esi
jne 0x41ad40
xor eax, eax
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41ad50
push ecx
push 4
push esi
push dword [0x44bce4]
call fcn.0043cba0
xor eax, eax
add esp, 0x10
jmp 0x41ad50
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41ad95
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
mov dword [esp + 0x58], 0
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
lea esi, [eax + 0xbb]
mov ecx, 0x44
sub ecx, eax
xor ecx, esi
and ecx, edx
xor ecx, esi
add cl, 0x59
mov byte [esp + eax + 0x10], cl
xor eax, 7
mov ecx, 8
sub ecx, eax
cmp eax, 4
mov eax, ecx
ja 0x41adb0
mov eax, dword [esp + 0x10]
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x41ae34
xor edx, edx
mov esi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x61813e67
je 0x41ae10
inc edx
cmp ecx, edx
jne 0x41ae00
jmp 0x41ae34
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41ae34
lea eax, [esp + 0x58]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x1c
mov dword [esp + 0x10], 0x793a3b30
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
mov ecx, 0xb
mov edx, 0x1aef8834
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 5]
mov ebx, edx
or ebx, edi
mov ebp, edx
and ebp, 0x2290036
mov esi, ecx
and esi, 9
or esi, ebp
xor esi, edi
xor esi, 0x18c68809
and esi, ebx
mov edi, 1
sub edi, esi
and edi, 1
mov ebx, 7
sub ebx, esi
or ebx, 1
add ebx, edi
mov byte [esp + ecx + 5], bl
inc ecx
dec edx
cmp ecx, 0x12
jne 0x41ae60
cmp eax, dword [esp + 0x10]
jne 0x41b5b1
push dword [esp + 0x58]
call fcn.0043a220
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x10]
lea edi, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, edi
and edx, esi
xor edx, edi
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41aed0
mov eax, dword [esp + 0x10]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41af4f
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x61813e67
je 0x41af30
inc esi
cmp edx, esi
jne 0x41af20
jmp 0x41af4f
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41af4f
push 0
push ecx
push ebx
push 5
push 0x10
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x1c
test eax, eax
js 0x41b5a8
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov ebp, dword [ebx]
lea edi, [esp + 0x60]
mov dword [esp + 0x88], ebx
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + ebp + 0x44]
mov dword [esp + 0x68], eax
mov ecx, edi
push 0x1000
call fcn.0043a620
test eax, eax
js 0x41b585
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x10]
lea ebx, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41afc0
mov eax, dword [esp + 0x10]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41b041
xor edi, edi
mov ebx, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xeb857808
je 0x41b020
inc edi
cmp edx, edi
jne 0x41b010
jmp 0x41b041
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b041
lea eax, [esp + 0x44]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x18
test eax, eax
js 0x41b57a
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x10]
lea ebx, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + eax + 0x10], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41b060
mov eax, dword [esp + 0x10]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41b0e5
xor edi, edi
mov ebx, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x8869e8e9
je 0x41b0c0
inc edi
cmp edx, edi
jne 0x41b0b0
jmp 0x41b0e5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b0e5
lea eax, [esp + 8]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41b4f1
push dword [esp + 8]
call fcn.0043a220
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], 0x181b1a1d
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x10]
lea ebx, [ecx + 0xbb]
mov edx, 0x44
sub edx, ecx
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + ecx + 0x10], dl
xor ecx, 7
mov edx, 8
sub edx, ecx
cmp ecx, 4
mov ecx, edx
ja 0x41b120
mov ecx, dword [esp + 0x10]
mov edi, dword [0x44bcdc]
test edi, edi
je 0x41b1af
xor edx, edx
mov ebx, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x8869e8e9
je 0x41b180
inc edx
cmp edi, edx
jne 0x41b170
jmp 0x41b1af
mov edi, dword [ebx + edx*8 + 4]
cmp edi, ecx
je 0x41b1af
lea ecx, [esp + 8]
push ecx
push dword [esp + 8]
push eax
push 1
push dword [esp + 0x5c]
push 0x14
push edi
push dword [0x44bce4]
mov edi, eax
call fcn.0043cba0
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41b4e8
mov ecx, dword [eax]
test ecx, ecx
je 0x41b4e8
cmp byte [ecx], 1
jne 0x41b4e8
cmp byte [ecx + 1], 0xf
ja 0x41b4e8
cmp byte [ecx + 7], 5
jne 0x41b4e8
cmp byte [ecx + 8], 0x12
jne 0x41b4e8
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], 0x181b1a1d
xor ecx, ecx
movzx edi, byte [esp + ecx + 0x10]
lea ebx, [ecx + 0xbb]
mov edx, 0x44
sub edx, ecx
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + ecx + 0x10], dl
xor ecx, 7
mov edx, 8
sub edx, ecx
cmp ecx, 4
mov ecx, edx
ja 0x41b1fa
mov ecx, dword [esp + 0x10]
mov edi, dword [0x44bcdc]
test edi, edi
je 0x41b27e
xor ebx, ebx
mov edx, dword [0x44bce0]
cmp dword [edx + ebx*8], 0x8869e8e9
je 0x41b250
inc ebx
cmp edi, ebx
jne 0x41b240
jmp 0x41b27e
mov edi, dword [edx + ebx*8 + 4]
cmp edi, ecx
je 0x41b27e
lea ecx, [esp + 0x54]
push ecx
push 0
push 0
push 3
push dword [esp + 0x5c]
push 0x14
push edi
push dword [0x44bce4]
mov edi, eax
call fcn.0043cba0
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41b4e8
mov dword [esp + 0x4c], eax
push dword [esp + 0x54]
call fcn.0043a220
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0x181b1a1d
xor eax, eax
movzx edx, byte [esp + eax + 0x10]
lea edi, [eax + 0xbb]
mov ecx, 0x44
sub ecx, eax
xor ecx, edi
and ecx, edx
xor ecx, edi
add cl, 0x59
mov byte [esp + eax + 0x10], cl
xor eax, 7
mov ecx, 8
sub ecx, eax
cmp eax, 4
mov eax, ecx
ja 0x41b2b6
mov ecx, dword [esp + 0x10]
mov eax, dword [0x44bcdc]
test eax, eax
je 0x41b30d
xor edi, edi
mov edx, dword [0x44bce0]
cmp dword [edx + edi*8], 0x8869e8e9
je 0x41b468
inc edi
cmp eax, edi
jne 0x41b2fb
mov edi, ebx
test ecx, ecx
js 0x41b4db
mov ecx, dword [edi]
test ecx, ecx
je 0x41b4db
movzx edx, byte [esp + 0x74]
mov dh, byte [esp + 0x75]
movzx eax, byte [esp + 0x76]
mov ah, byte [esp + 0x77]
mov byte [esp + 4], ah
movzx ebx, byte [esp + 0x78]
mov byte [esp + 0x50], bl
movzx ebx, byte [esp + 0x79]
mov byte [esp + 0xe], bl
mov ah, byte [esp + 0x7a]
mov byte [esp + 0xd], ah
mov ah, byte [esp + 0x7b]
mov byte [esp + 0xc], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0xf], al
jmp 0x41b36e
add ebx, 0xc
dec ecx
je 0x41b4db
cmp byte [ebx - 7], dl
jne 0x41b364
cmp byte [ebx - 6], dh
jne 0x41b364
cmp byte [ebx - 5], al
jne 0x41b364
mov ah, byte [esp + 4]
cmp byte [ebx - 4], ah
jne 0x41b364
mov ah, byte [esp + 0x50]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0xf]
jne 0x41b364
mov ah, byte [esp + 0xe]
cmp byte [ebx - 2], ah
jne 0x41b364
mov ah, byte [esp + 0xd]
cmp byte [ebx - 1], ah
jne 0x41b364
mov ah, byte [esp + 0xc]
cmp byte [ebx], ah
jne 0x41b364
mov dword [esp + 4], edi
mov dword [esp + 0x8c], 0xc
mov dword [esp + 0x90], 2
mov word [esp + 0x94], 1
mov dword [esp + 0x10], 0x18
lea eax, [esp + 0x14]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x8c]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], 0x181b1a1d
xor eax, eax
movzx edi, byte [esp + eax + 0x5c]
lea ebx, [eax + 0xbb]
mov edx, 0x44
sub edx, eax
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + eax + 0x5c], dl
xor eax, 7
mov edx, 8
sub edx, eax
cmp eax, 4
mov eax, edx
ja 0x41b412
mov eax, dword [esp + 0x5c]
mov edx, dword [0x44bcdc]
test edx, edx
je 0x41b4cb
xor edi, edi
mov ebx, dword [0x44bce0]
cmp dword [ebx + edi*8], 0xa6d9b1ac
je 0x41b49e
inc edi
cmp edx, edi
jne 0x41b458
jmp 0x41b4cb
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
mov edi, ebx
je 0x41b30f
lea ecx, [esp + 0x54]
push ecx
push dword [esp + 0x54]
push edi
push 3
push dword [esp + 0x14]
push 0x14
push eax
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x20
mov ecx, eax
jmp 0x41b30f
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41b4cb
lea eax, [esp + 0x48]
push eax
push 2
push 0
lea eax, [esp + 0x1c]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x24
test eax, eax
jns 0x41b4d7
mov dword [esp + 0x48], 0
mov edi, dword [esp + 4]
push edi
call fcn.0043a2b0
add esp, 4
mov eax, dword [esp + 0x4c]
push eax
call fcn.0043a2b0
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], 0x181b1a1d
xor ecx, ecx
nop
movzx edi, byte [esp + ecx + 0x10]
lea ebx, [ecx + 0xbb]
mov edx, 0x44
sub edx, ecx
xor edx, ebx
and edx, edi
xor edx, ebx
add dl, 0x59
mov byte [esp + ecx + 0x10], dl
xor ecx, 7
mov edx, 8
sub edx, ecx
cmp ecx, 4
mov ecx, edx
ja 0x41b500
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x41b57a
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebx, dword [0x44bce0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x41b560
inc edi
cmp ecx, edi
jne 0x41b550
jmp 0x41b57a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41b57a
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
lea edi, [esp + 0x60]
mov ecx, edi
call fcn.0043a7d0
cmp dword [esp + 0x48], 0
jne 0x41b598
add esi, ebp
mov ebp, dword [esi]
test ebp, ebp
jne 0x41af90
lea ecx, [esp + 0x60]
call fcn.0043a7d0
mov ebx, dword [esp + 0x88]
push ebx
call fcn.0043a2b0
add esp, 4
mov eax, dword [esp + 0x48]
jmp 0x41ad50