Function at 0x41a200
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa4
mov dword [esp + 0x4c], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov ecx, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x25]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
add dl, 0x1f
mov byte [esp + eax - 0x25], dl
inc eax
dec ecx
cmp eax, 0x34
jne 0x41a240
mov eax, dword [esp + 8]
mov ecx, dword [0x44bcd0]
test ecx, ecx
je 0x41a2b4
xor edx, edx
mov esi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x89bc83a7
je 0x41a290
inc edx
cmp ecx, edx
jne 0x41a280
jmp 0x41a2b4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41a2b4
lea eax, [esp + 4]
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x41a352
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov ecx, 0xd2
nop
nop
nop
movzx edx, byte [esp + eax - 0x25]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
add dl, 0x1f
mov byte [esp + eax - 0x25], dl
inc eax
dec ecx
cmp eax, 0x34
jne 0x41a2e0
mov eax, dword [0x44bcd0]
test eax, eax
je 0x41a352
mov ecx, dword [esp + 8]
xor edx, edx
mov esi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xeb857808
je 0x41a330
inc edx
cmp eax, edx
jne 0x41a320
jmp 0x41a352
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41a352
lea ecx, [esp + 4]
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x18
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x41a92e
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x25]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + eax - 0x25], bl
inc eax
dec edx
cmp eax, 0x34
jne 0x41a380
mov eax, dword [esp + 8]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41a3f5
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x8869e8e9
je 0x41a3d0
inc esi
cmp edx, esi
jne 0x41a3c0
jmp 0x41a3f5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a3f5
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41a4ec
push dword [esp + 0x3c]
call fcn.004399c0
add esp, 4
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 4]
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov ecx, 0x2d
mov edi, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x25]
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
and ebp, ecx
and ebx, edi
or ebx, ebp
add bl, 0x1f
mov byte [esp + ecx - 0x25], bl
inc ecx
dec edi
cmp ecx, 0x34
jne 0x41a440
mov ecx, dword [esp + 8]
mov edi, dword [0x44bcd0]
test edi, edi
je 0x41a4ba
xor ebx, ebx
mov ebp, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x8869e8e9
je 0x41a491
inc ebx
cmp edi, ebx
jne 0x41a480
jmp 0x41a4ba
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x41a4ba
lea ecx, [esp + 0x3c]
push ecx
push esi
push eax
push 1
push edx
push 0x14
push edi
push dword [0x44bcd8]
mov esi, eax
call fcn.0043c460
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x41a4e3
mov ecx, dword [eax]
test ecx, ecx
je 0x41a4e3
cmp byte [ecx], 1
jne 0x41a4e3
cmp byte [ecx + 1], 0xf
ja 0x41a4e3
cmp byte [ecx + 7], 5
jne 0x41a4e3
cmp byte [ecx + 8], 0x12
jne 0x41a4e3
mov ecx, dword [esp + 4]
mov dword [esp + 0x4c], ecx
push eax
call fcn.00439a30
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x41a930
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [0x44a9a8]
mov dword [esp + 8], 0x49d64bd3
mov dword [esp + 0xc], 0x45d947c2
mov dword [esp + 0x10], 0x41d543d4
mov dword [esp + 0x14], 0xbdf0bf0d
mov dword [esp + 0x18], 0xb926bbee
mov dword [esp + 0x1c], 0xb522b72c
mov word [esp + 0x20], 0xb3b4
mov dword [esp + 0x22], 0
mov word [esp + 0x26], 0
mov ecx, 0x9797a573
nop
nop
movzx esi, byte [esp + ecx + 0x68685a95]
mov edx, ecx
and edx, esi
add edx, edx
add esi, ecx
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xc0
mov byte [esp + ecx + 0x68685a95], dl
inc ecx
cmp ecx, 0x9797a593
jne 0x41a560
lea ecx, [esp + 8]
push 0x800
push 0
push ecx
call eax
lea ecx, [esp + 0x84]
push eax
call fcn.0043ace0
test al, al
je 0x41a767
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], 2
push 0x367fa9e7
push dword [esp + 0x88]
call fcn.0043e290
add esp, 8
mov dword [esp + 8], 0x9710b61
mov dword [esp + 0xc], 0x575075f
mov dword [esp + 0x10], 0x1790374
mov dword [esp + 0x14], 0x1d931f8e
mov dword [esp + 0x18], 0x19681b6d
mov dword [esp + 0x1c], 0x159a1767
mov dword [esp + 0x20], 0x1142136f
mov dword [esp + 0x24], 0x2d592f9e
mov dword [esp + 0x28], 0x295d2ba6
mov dword [esp + 0x2c], 0x255d275c
mov dword [esp + 0x30], 0x2159235d
mov word [esp + 0x34], 0x3f20
mov dword [esp + 0x36], 0
mov byte [esp + 0x3a], 0
mov ecx, 0x11636983
mov ebp, 0x7c
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x1163697b]
mov edx, esi
not edx
lea edi, [esi + esi]
not edi
add edi, esi
or edi, edx
and edi, ecx
and esi, ebp
or esi, edi
mov edx, 0x56f10f8f
sub edx, esi
or edx, 1
lea edi, [esi + edx]
add edi, 0xa90ef071
mov edx, edi
and edx, 2
mov ebx, edi
or edi, 2
imul edi, edx
xor edx, 2
and ebx, 0xfd
imul ebx, edx
mov edx, esi
or edx, 1
and esi, 1
sub edx, esi
add edx, edi
add edx, ebx
add dl, 0x70
mov byte [esp + ecx - 0x1163697b], dl
inc ecx
dec ebp
cmp ecx, 0x116369b6
jne 0x41a660
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0xc]
push ecx
push 0
call eax
test eax, eax
je 0x41a8a7
mov ecx, dword [esp + 4]
mov dword [esp + 0x64], 0xd0cfcecd
mov word [esp + 0x68], 0
mov byte [esp + 0x6a], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x37]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + eax + 0x37], bl
inc eax
dec edx
cmp eax, 0x34
jne 0x41a710
mov eax, dword [esp + 0x64]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41a80e
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x845fa972
je 0x41a7e7
inc esi
cmp edx, esi
jne 0x41a750
jmp 0x41a80e
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x25]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + eax - 0x25], bl
inc eax
dec edx
cmp eax, 0x34
jne 0x41a790
mov eax, dword [0x44bcd0]
test eax, eax
je 0x41a92e
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a93b
inc esi
cmp eax, esi
jne 0x41a7d0
jmp 0x41a92e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a80e
lea eax, [esp + 0x74]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x24
test eax, eax
js 0x41a8a7
push dword [esp + 0x84]
call dword [0x44aabc]
mov eax, dword [esp + 4]
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov ecx, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x25]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, ecx
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + ecx - 0x25], bl
inc ecx
dec edx
cmp ecx, 0x34
jne 0x41a850
mov ecx, dword [0x44bcd0]
test ecx, ecx
je 0x41a975
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a95b
inc esi
cmp ecx, esi
jne 0x41a890
jmp 0x41a975
push dword [esp + 0x84]
call dword [0x44aabc]
mov ecx, dword [esp + 4]
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x25]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + eax - 0x25], bl
inc eax
dec edx
cmp eax, 0x34
jne 0x41a8e0
mov eax, dword [0x44bcd0]
test eax, eax
je 0x41a92e
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x41a93b
inc esi
cmp eax, esi
jne 0x41a920
xor eax, eax
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41a930
push ecx
push 4
push esi
push dword [0x44bcd8]
call fcn.0043c460
xor eax, eax
add esp, 0x10
jmp 0x41a930
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a975
push eax
push 4
push ecx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x10
mov dword [esp + 0x60], 0
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov ecx, 0xd2
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x25]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
add dl, 0x1f
mov byte [esp + eax - 0x25], dl
inc eax
dec ecx
cmp eax, 0x34
jne 0x41a9a0
mov eax, dword [esp + 8]
mov ecx, dword [0x44bcd0]
test ecx, ecx
je 0x41aa14
xor edx, edx
mov esi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x61813e67
je 0x41a9f0
inc edx
cmp ecx, edx
jne 0x41a9e0
jmp 0x41aa14
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41aa14
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x1c
mov dword [esp + 8], 0x63222124
mov dword [esp + 0xc], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 8]
mov esi, 0x439f4137
sub esi, ecx
or esi, edx
or edx, ecx
or edx, 0x3c60bec8
neg edx
lea edi, [ecx + edx]
add edi, 0x3c60bec7
and edi, esi
mov edx, 0x16
sub edx, edi
add edi, 0xe9
and edi, 0xe2
and edx, 0x1d
sub edx, edi
add dl, 0xe3
mov byte [esp + ecx + 8], dl
add ecx, 0x850cfa7f
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add ecx, 0x7af30581
cmp ecx, 8
jb 0x41aa30
cmp eax, dword [esp + 8]
jne 0x41b20e
push dword [esp + 0x60]
call fcn.004399c0
add esp, 4
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], 0xd0cfcecd
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x25]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, edx
or ebx, esi
add bl, 0x1f
mov byte [esp + eax - 0x25], bl
inc eax
dec edx
cmp eax, 0x34
jne 0x41aad0
mov eax, dword [esp + 8]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41ab42
xor esi, esi
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x61813e67
je 0x41ab20
inc esi
cmp edx, esi
jne 0x41ab10
jmp 0x41ab42
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41ab42
push 0
push ecx
push dword [esp + 0x60]
push 5
push 0x10
push edx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x1c
test eax, eax
js 0x41b202
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov ebx, dword [esp + 0x58]
mov esi, dword [ebx]
lea edi, [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebx + esi + 0x44]
mov dword [esp + 0x6c], eax
mov ecx, edi
push 0x1000
call fcn.00439d30
test eax, eax
js 0x41b1e6
mov edi, dword [esp + 0x64]
mov dword [esp + 8], 0xd0cfcecd
lea eax, [esp + 0xc]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x2d
mov edx, 0xd2
nop
movzx ecx, byte [esp + eax - 0x25]
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
and ebp, eax
and ecx, edx
or ecx, ebp
add cl, 0x1f
mov byte [esp + eax - 0x25], cl
inc eax
dec edx
cmp eax, 0x34
jne 0x41abc0
mov eax, dword [esp + 8]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41ac32
xor ecx, ecx
mov ebp, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ecx*8], 0xeb857808
je 0x41ac11
inc ecx
cmp edx, ecx
jne 0x41ac00
jmp 0x41ac32
mov ecx, dword [ebp + ecx*8 + 4]
cmp ecx, eax
je 0x41ac32
lea eax, [esp + 0x48]
push eax
push 0xa
push edi
push 0xc
push ecx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x18
test eax, eax
js 0x41b1db
mov edi, dword [esp + 0x48]
mov dword [esp + 8], 0xd0cfcecd
lea eax, [esp + 0xc]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x2d
mov edx, 0xd2
nop
nop
nop
movzx ecx, byte [esp + eax - 0x25]
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
and ebp, eax
and ecx, edx
or ecx, ebp
add cl, 0x1f
mov byte [esp + eax - 0x25], cl
inc eax
dec edx
cmp eax, 0x34
jne 0x41ac60
mov eax, dword [esp + 8]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41acd6
xor ecx, ecx
mov ebp, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ecx*8], 0x8869e8e9
je 0x41acb1
inc ecx
cmp edx, ecx
jne 0x41aca0
jmp 0x41acd6
mov edx, dword [ebp + ecx*8 + 4]
cmp edx, eax
je 0x41acd6
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 1
push edi
push 0x14
push edx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41b144
push dword [esp + 0x3c]
call fcn.004399c0
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 8], 0xd0cfcecd
lea ecx, [esp + 0xc]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x2d
mov ebp, 0xd2
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x25]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, ecx
and edx, ebp
or edx, edi
add dl, 0x1f
mov byte [esp + ecx - 0x25], dl
inc ecx
dec ebp
cmp ecx, 0x34
jne 0x41ad20
mov ecx, dword [esp + 8]
mov ebp, dword [0x44bcd0]
test ebp, ebp
je 0x41ad9f
xor edx, edx
mov edi, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x8869e8e9
je 0x41ad70
inc edx
cmp ebp, edx
jne 0x41ad60
jmp 0x41ad9f
mov ebp, dword [edi + edx*8 + 4]
cmp ebp, ecx
je 0x41ad9f
lea ecx, [esp + 0x3c]
push ecx
push dword [esp + 0x58]
push eax
push 1
push dword [esp + 0x10]
push 0x14
push ebp
push dword [0x44bcd8]
mov edi, eax
call fcn.0043c460
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41b13b
mov ecx, dword [eax]
test ecx, ecx
je 0x41b13b
cmp byte [ecx], 1
jne 0x41b13b
cmp byte [ecx + 1], 0xf
ja 0x41b13b
cmp byte [ecx + 7], 5
jne 0x41b13b
cmp byte [ecx + 8], 0x12
jne 0x41b13b
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 8], 0xd0cfcecd
lea ecx, [esp + 0xc]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x2d
mov edi, 0xd2
movzx edx, byte [esp + ecx - 0x25]
lea ebp, [edx + edx]
not ebp
add ebp, edx
and ebp, ecx
and edx, edi
or edx, ebp
add dl, 0x1f
mov byte [esp + ecx - 0x25], dl
inc ecx
dec edi
cmp ecx, 0x34
jne 0x41adfe
mov ecx, dword [esp + 8]
mov edi, dword [0x44bcd0]
test edi, edi
je 0x41ae73
xor edx, edx
mov ebp, dword [0x44bcd4]
cmp dword [ebp + edx*8], 0x8869e8e9
je 0x41ae45
inc edx
cmp edi, edx
jne 0x41ae34
jmp 0x41ae73
mov edi, dword [ebp + edx*8 + 4]
cmp edi, ecx
je 0x41ae73
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0
push 3
push dword [esp + 0x10]
push 0x14
push edi
push dword [0x44bcd8]
mov edi, eax
call fcn.0043c460
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41b13b
mov dword [esp + 0x94], eax
push dword [esp + 0x5c]
call fcn.004399c0
add esp, 4
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 8], 0xd0cfcecd
lea eax, [esp + 0xc]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x2d
mov edi, 0xd2
movzx eax, byte [esp + ecx - 0x25]
lea ebp, [eax + eax]
not ebp
add ebp, eax
and ebp, ecx
and eax, edi
or eax, ebp
add al, 0x1f
mov byte [esp + ecx - 0x25], al
inc ecx
dec edi
cmp ecx, 0x34
jne 0x41aec0
mov ecx, dword [esp + 8]
mov edi, dword [0x44bcd0]
test edi, edi
je 0x41af32
xor eax, eax
mov ebp, dword [0x44bcd4]
cmp dword [ebp + eax*8], 0x8869e8e9
je 0x41af06
inc eax
cmp edi, eax
jne 0x41aef5
jmp 0x41af32
mov edi, dword [ebp + eax*8 + 4]
cmp edi, ecx
je 0x41af32
lea eax, [esp + 0x5c]
push eax
push edx
mov eax, dword [esp + 0x58]
push eax
push 3
push dword [esp + 0x10]
push 0x14
push edi
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x41b128
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
test ecx, ecx
je 0x41b128
movzx eax, byte [esp + 0x78]
mov byte [esp + 0x54], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x47], al
movzx eax, byte [esp + 0x7a]
mov byte [esp + 0x46], al
movzx eax, byte [esp + 0x7b]
mov byte [esp + 0x45], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x44], al
movzx eax, byte [esp + 0x7d]
mov byte [esp + 0x43], al
movzx eax, byte [esp + 0x7e]
mov byte [esp + 0x42], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x41], al
mov eax, dword [esp + 0x50]
add eax, 0xb
mov dh, byte [eax - 7]
mov dl, byte [esp + 0x54]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 6]
mov dl, byte [esp + 0x47]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 5]
mov dl, byte [esp + 0x46]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 4]
mov dl, byte [esp + 0x45]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 3]
mov dl, byte [esp + 0x44]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 2]
mov dl, byte [esp + 0x43]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax - 1]
mov dl, byte [esp + 0x42]
mov byte [esp], dl
cmp dh, dl
jne 0x41b006
mov dh, byte [eax]
mov dl, byte [esp + 0x41]
mov byte [esp], dl
cmp dh, dl
je 0x41b02a
movzx edi, dh
movzx edx, byte [esp]
mov ebp, edi
not ebp
and ebp, edx
not edx
and edx, edi
cmp edx, ebp
je 0x41b02a
add eax, 0xc
dec ecx
jne 0x41af97
jmp 0x41b128
mov dword [esp + 0x98], 0xc
mov dword [esp + 0x9c], 2
mov word [esp + 0xa0], 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 + 0x98]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x48]
mov dword [esp + 0x8c], 0xd0cfcecd
lea eax, [esp + 0x90]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x2d
mov edx, 0xd2
movzx ecx, byte [esp + eax + 0x5f]
lea ebp, [ecx + ecx]
not ebp
add ebp, ecx
and ebp, eax
and ecx, edx
or ecx, ebp
add cl, 0x1f
mov byte [esp + eax + 0x5f], cl
inc eax
dec edx
cmp eax, 0x34
jne 0x41b0a5
mov eax, dword [esp + 0x8c]
mov edx, dword [0x44bcd0]
test edx, edx
je 0x41b11c
xor ecx, ecx
mov ebp, dword [0x44bcd4]
cmp dword [ebp + ecx*8], 0xa6d9b1ac
je 0x41b0ef
inc ecx
cmp edx, ecx
jne 0x41b0de
jmp 0x41b11c
mov edx, dword [ebp + ecx*8 + 4]
cmp edx, eax
je 0x41b11c
lea eax, [esp + 0x4c]
push eax
push 2
push 0
lea eax, [esp + 0x14]
push eax
push 0x2000000
push edi
push 0x18
push edx
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x24
test eax, eax
jns 0x41b128
mov dword [esp + 0x4c], 0
push dword [esp + 0x50]
call fcn.00439a30
add esp, 4
mov eax, dword [esp + 0x94]
push eax
call fcn.00439a30
add esp, 4
mov edi, dword [esp + 0x48]
mov dword [esp + 8], 0xd0cfcecd
lea eax, [esp + 0xc]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x2d
mov edx, 0xd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x25]
lea ebp, [eax + eax]
not ebp
add ebp, eax
and ebp, ecx
and eax, edx
or eax, ebp
add al, 0x1f
mov byte [esp + ecx - 0x25], al
inc ecx
dec edx
cmp ecx, 0x34
jne 0x41b170
mov ecx, dword [0x44bcd0]
test ecx, ecx
je 0x41b1db
mov edx, dword [esp + 8]
xor eax, eax
mov ebp, dword [0x44bcd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + eax*8], 0x1b6183f2
je 0x41b1c1
inc eax
cmp ecx, eax
jne 0x41b1b0
jmp 0x41b1db
mov eax, dword [ebp + eax*8 + 4]
cmp eax, edx
je 0x41b1db
push edi
push 4
push eax
push dword [0x44bcd8]
call fcn.0043c460
add esp, 0x10
lea edi, [esp + 0x64]
mov ecx, edi
call fcn.00439e50
cmp dword [esp + 0x4c], 0
jne 0x41b1f9
add ebx, esi
mov esi, dword [ebx]
test esi, esi
jne 0x41ab80
lea ecx, [esp + 0x64]
call fcn.00439e50
push dword [esp + 0x58]
call fcn.00439a30
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x41a930