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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov dword [esp + 0x44], 0
mov dword [esp], 0
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov ecx, 0x43
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x20
mov byte [esp + eax - 0xb8], dl
inc eax
dec ecx
cmp eax, 0xc0
jne 0x419c40
mov eax, dword [esp + 4]
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x419cb2
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa896961c
je 0x419c90
inc edx
cmp ecx, edx
jne 0x419c80
jmp 0x419cb2
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x419cb2
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x1c
test eax, eax
jns 0x419d90
mov dword [esp + 4], 0x9c5b5ad5
mov ecx, 0x5727ded1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x5727decd]
xor edx, ecx
lea esi, [edx + 0x77]
not edx
xor esi, 1
and edx, 1
lea edx, [esi + edx*2]
mov byte [esp + ecx - 0x5727decd], dl
inc ecx
cmp ecx, 0x5727ded5
jne 0x419cd0
cmp eax, dword [esp + 4]
jne 0x419d90
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov ecx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x20
mov byte [esp + eax - 0xb8], dl
inc eax
dec ecx
cmp eax, 0xc0
jne 0x419d20
mov eax, dword [0x44965c]
test eax, eax
je 0x419d90
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x419d70
inc edx
cmp eax, edx
jne 0x419d60
jmp 0x419d90
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x419d90
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x449664]
call fcn.0043b480
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x41a30e
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, esi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x419db0
mov eax, dword [esp + 4]
mov edx, dword [0x44965c]
test edx, edx
je 0x419e25
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x6e83e51e
je 0x419e00
inc esi
cmp edx, esi
jne 0x419df0
jmp 0x419e25
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x419e25
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
mov dword [esp + 4], 0xedacab89
mov ecx, 0x761e207a
mov edx, 0x89e1df85
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x761e2076]
mov edi, edx
and edi, 0x88c15804
mov ebp, ecx
and ebp, 0x160c0053
or ebp, edi
xor ebp, esi
xor ebp, 0x2c
lea ebx, [ecx - 0x761e2000]
and ebx, esi
or ebx, ebp
and esi, ecx
sub ebx, esi
add bl, 0x30
mov byte [esp + ecx - 0x761e2076], bl
inc ecx
dec edx
cmp ecx, 0x761e207e
jne 0x419e40
cmp eax, dword [esp + 4]
jne 0x419f5b
push dword [esp + 0x38]
call fcn.00439b40
add esp, 4
mov esi, dword [esp + 0x38]
mov edx, dword [esp]
mov dword [esp + 4], 0x60616263
mov ecx, 0xbc
mov edi, 0x43
movzx ebp, byte [esp + ecx - 0xb8]
mov ebx, edi
xor ebx, ecx
and ebx, ebp
xor ebx, ecx
add bl, 0x20
mov byte [esp + ecx - 0xb8], bl
inc ecx
dec edi
cmp ecx, 0xc0
jne 0x419eb0
mov ecx, dword [esp + 4]
mov edi, dword [0x44965c]
test edi, edi
je 0x419f2a
xor ebx, ebx
mov ebp, dword [0x449660]
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x419f01
inc ebx
cmp edi, ebx
jne 0x419ef0
jmp 0x419f2a
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x419f2a
lea ecx, [esp + 0x38]
push ecx
push esi
push eax
push 1
push edx
push 0x14
push edi
push dword [0x449664]
mov esi, eax
call fcn.0043b480
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x419f52
mov ecx, dword [eax]
test ecx, ecx
je 0x419f52
cmp byte [ecx], 1
jne 0x419f52
cmp byte [ecx + 1], 0xf
ja 0x419f52
cmp byte [ecx + 7], 5
jne 0x419f52
cmp byte [ecx + 8], 0x12
jne 0x419f52
mov ecx, dword [esp]
mov dword [esp + 0x44], ecx
push eax
call fcn.00439b60
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x41a310
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [0x448334]
mov dword [esp + 4], 0xbb5eb959
mov dword [esp + 8], 0xbf5fbd4a
mov dword [esp + 0xc], 0x43ab41b0
mov dword [esp + 0x10], 0x47744577
mov dword [esp + 0x14], 0x4bae4966
mov dword [esp + 0x18], 0x4fa24da0
mov word [esp + 0x1c], 0x5150
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, edx
xor edi, 0xa4301988
mov ebx, ecx
and ebx, 0x2e
sub ebx, edi
mov edi, esi
not edi
or edi, ebx
or ebx, esi
add esi, edi
inc esi
mov edi, ebx
not edi
and edi, esi
not esi
and esi, ebx
sub esi, edi
mov edi, esi
xor edi, 0xde7f33c1
and esi, 0x2180cc3e
add esi, esi
sub esi, edi
mov edi, esi
and edi, 1
xor esi, 1
lea ebx, [esi + edi*2]
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 0x1a
jne 0x419fc0
lea edi, [esp + 4]
push 0x800
push 0
push edi
call eax
lea ecx, [esp + 0x70]
push eax
call fcn.0043af90
test al, al
je 0x41a173
mov dword [esp + 0x60], 1
mov dword [esp + 0x6c], 2
push 0x10a6c058
push dword [esp + 0x74]
call int.0043ce00
add esp, 8
mov dword [esp + 4], 0xde90bf9
mov dword [esp + 8], 0x31dd0fc7
mov dword [esp + 0xc], 0x35d133a2
mov dword [esp + 0x10], 0x39ab37a4
mov dword [esp + 0x14], 0x3dd23bd5
mov dword [esp + 0x18], 0x21b43fdf
mov dword [esp + 0x1c], 0x25d423c7
mov dword [esp + 0x20], 0x29c127b4
mov dword [esp + 0x24], 0x2dc52bbc
mov dword [esp + 0x28], 0xd1352fc2
mov dword [esp + 0x2c], 0xd531d335
mov word [esp + 0x30], 0xd7d6
mov ecx, 0xa3cb40da
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x5c34bf2a]
xor edx, ecx
mov esi, edx
xor esi, 0x1e5a06d0
or edx, 0xe1a5f92f
and esi, edx
xor edx, esi
lea ebx, [edx + esi*2]
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + ecx + 0x5c34bf2a], bl
inc ecx
cmp ecx, 0xa3cb4108
jne 0x41a0c0
lea ecx, [esp + 0x64]
push ecx
push edi
push 0
call eax
test eax, eax
je 0x41a297
mov ecx, dword [esp]
mov dword [esp + 0x78], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
movzx esi, byte [esp + eax - 0x44]
mov ebx, edx
xor ebx, eax
and ebx, esi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0x44], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a120
mov eax, dword [esp + 0x78]
mov edx, dword [0x44965c]
test edx, edx
je 0x41a20e
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x4b501129
je 0x41a1e7
inc esi
cmp edx, esi
jne 0x41a160
jmp 0x41a20e
mov ecx, dword [esp]
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, esi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a190
mov eax, dword [0x44965c]
test eax, eax
je 0x41a30e
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a31b
inc esi
cmp eax, esi
jne 0x41a1d0
jmp 0x41a30e
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a20e
lea eax, [esp + 0x60]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x24
test eax, eax
js 0x41a297
push dword [esp + 0x70]
call dword [fcn.00448448]
mov eax, dword [esp]
mov dword [esp + 4], 0x60616263
mov ecx, 0xbc
mov edx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0xb8]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x20
mov byte [esp + ecx - 0xb8], bl
inc ecx
dec edx
cmp ecx, 0xc0
jne 0x41a240
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x41a355
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449660]
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a33b
inc esi
cmp ecx, esi
jne 0x41a280
jmp 0x41a355
push dword [esp + 0x70]
call dword [fcn.00448448]
mov ecx, dword [esp]
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, esi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a2c0
mov eax, dword [0x44965c]
test eax, eax
je 0x41a30e
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x41a31b
inc esi
cmp eax, esi
jne 0x41a300
xor eax, eax
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [edi + esi*8 + 4]
xor eax, eax
cmp esi, edx
je 0x41a310
push ecx
push 4
push esi
push dword [0x449664]
call fcn.0043b480
xor eax, eax
add esp, 0x10
jmp 0x41a310
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41a355
push eax
push 4
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x10
mov dword [esp + 0x58], 0
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov ecx, 0x43
nop
movzx esi, byte [esp + eax - 0xb8]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x20
mov byte [esp + eax - 0xb8], dl
inc eax
dec ecx
cmp eax, 0xc0
jne 0x41a370
mov eax, dword [esp + 4]
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x41a3e4
xor edx, edx
mov esi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x41a3c0
inc edx
cmp ecx, edx
jne 0x41a3b0
jmp 0x41a3e4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x41a3e4
lea eax, [esp + 0x58]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x1c
mov dword [esp + 4], 0x26656467
mov ecx, 0x695bdfe2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x695bdfde]
lea esi, [ecx - 0x695bdf27]
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx - 0x695bdfde], dl
inc ecx
cmp ecx, 0x695bdfe6
jne 0x41a400
cmp eax, dword [esp + 4]
jne 0x41ab94
push dword [esp + 0x58]
call fcn.00439b40
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, esi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a470
mov eax, dword [esp + 4]
mov edx, dword [0x44965c]
test edx, edx
je 0x41a4e2
xor esi, esi
mov edi, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x67f3d776
je 0x41a4c0
inc esi
cmp edx, esi
jne 0x41a4b0
jmp 0x41a4e2
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a4e2
push 0
push ecx
push dword [esp + 0x58]
push 5
push 0x10
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x1c
test eax, eax
js 0x41ab88
mov esi, dword [esp + 0x50]
mov ebp, dword [esi]
lea edi, [esp + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + ebp + 0x44]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov ecx, edi
push 0
push eax
call fcn.00439e10
mov ecx, edi
push 0x1000
call fcn.00439e30
test eax, eax
js 0x41ab6e
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
nop
movzx edi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, edi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a560
mov eax, dword [esp + 4]
mov edx, dword [0x44965c]
test edx, edx
je 0x41a5d1
xor edi, edi
mov ebx, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x41a5b0
inc edi
cmp edx, edi
jne 0x41a5a0
jmp 0x41a5d1
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a5d1
lea eax, [esp + 0x40]
push eax
push 0xa
push ecx
push 0xc
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x18
test eax, eax
js 0x41ab6a
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov edx, 0x43
nop
movzx edi, byte [esp + eax - 0xb8]
mov ebx, edx
xor ebx, eax
and ebx, edi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0xb8], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41a5f0
mov eax, dword [esp + 4]
mov edx, dword [0x44965c]
test edx, edx
je 0x41a665
xor edi, edi
mov ebx, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41a640
inc edi
cmp edx, edi
jne 0x41a630
jmp 0x41a665
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a665
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
mov dword [esp + 4], 0xa6e5e4c0
xor ecx, ecx
nop
movzx edi, byte [esp + ecx + 4]
mov ebx, 0x9fbb9dc4
sub ebx, ecx
and ebx, 0x88889845
mov edx, 0x1fbb9dc4
sub edx, ecx
xor edi, 0xc88c9875
and edx, 0x17330582
or edx, ebx
xor edx, 0x3773678a
mov ebx, edi
and ebx, edx
add edx, edi
add ebx, ebx
sub edx, ebx
add edx, 0xfddcee27
mov edi, edx
xor edi, 0x7e
mov ebx, edx
or ebx, 1
and ebx, edi
xor edx, 1
lea edx, [edx + ebx*2]
mov byte [esp + ecx + 4], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb 0x41a670
cmp eax, dword [esp + 4]
jne 0x41aae0
push dword [esp + 0x38]
call fcn.00439b40
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov dword [esp + 4], 0x60616263
mov ecx, 0xbc
mov edi, 0x43
nop
nop
nop
movzx edx, byte [esp + ecx - 0xb8]
mov eax, edi
xor eax, ecx
and eax, edx
xor eax, ecx
add al, 0x20
mov byte [esp + ecx - 0xb8], al
inc ecx
dec edi
cmp ecx, 0xc0
jne 0x41a710
mov ecx, dword [esp + 4]
mov edi, dword [0x44965c]
test edi, edi
je 0x41a78b
xor edx, edx
mov eax, dword [0x449660]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edx*8], 0x6e83e51e
je 0x41a760
inc edx
cmp edi, edx
jne 0x41a750
jmp 0x41a78b
mov edi, dword [eax + edx*8 + 4]
cmp edi, ecx
je 0x41a78b
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x38]
push ebx
push 1
push dword [esp + 0x58]
push 0x14
push edi
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
mov ecx, eax
test ecx, ecx
js 0x41aad7
mov ecx, dword [ebx]
test ecx, ecx
je 0x41aad7
cmp byte [ecx], 1
jne 0x41aad7
cmp byte [ecx + 1], 0xf
ja 0x41aad7
cmp byte [ecx + 7], 5
jne 0x41aad7
cmp byte [ecx + 8], 0x12
jne 0x41aad7
mov dword [esp + 0x48], ebx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], 0x60616263
mov ecx, 0xbc
mov edi, 0x43
movzx ebx, byte [esp + ecx - 0xb8]
mov eax, edi
xor eax, ecx
and eax, ebx
xor eax, ecx
add al, 0x20
mov byte [esp + ecx - 0xb8], al
inc ecx
dec edi
cmp ecx, 0xc0
jne 0x41a7de
mov ecx, dword [esp + 4]
mov edi, dword [0x44965c]
test edi, edi
je 0x41a84e
xor eax, eax
mov ebx, dword [0x449660]
cmp dword [ebx + eax*8], 0x6e83e51e
je 0x41a827
inc eax
cmp edi, eax
jne 0x41a817
jmp 0x41a84e
mov edi, dword [ebx + eax*8 + 4]
cmp edi, ecx
je 0x41a84e
lea eax, [esp + 0x54]
push eax
push 0
push 0
push 3
push edx
push 0x14
push edi
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
mov ecx, eax
mov dword [esp + 4], 0x54131232
xor edx, edx
lea ebx, [edx + 0xd9]
mov eax, edx
and eax, 1
and ebx, 0xd6
or ebx, eax
xor bl, byte [esp + edx + 4]
xor bl, 9
add bl, 0x38
mov byte [esp + edx + 4], bl
inc edx
cmp edx, 4
jne 0x41a858
cmp ecx, dword [esp + 4]
mov ebx, dword [esp + 0x48]
jne 0x41aad7
push dword [esp + 0x54]
call fcn.00439b40
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 4], 0x60616263
mov eax, 0xbc
mov ecx, 0x43
movzx edi, byte [esp + eax - 0xb8]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
add dl, 0x20
mov byte [esp + eax - 0xb8], dl
inc eax
dec ecx
cmp eax, 0xc0
jne 0x41a8bd
mov ecx, dword [esp + 4]
mov eax, dword [0x44965c]
test eax, eax
je 0x41a907
xor edi, edi
mov edx, dword [0x449660]
cmp dword [edx + edi*8], 0x6e83e51e
je 0x41aa57
inc edi
cmp eax, edi
jne 0x41a8f5
mov edi, ebx
test ecx, ecx
js 0x41aaca
mov ecx, dword [edi]
test ecx, ecx
je 0x41aaca
movzx edx, byte [esp + 0x64]
mov dh, byte [esp + 0x65]
movzx eax, byte [esp + 0x66]
mov ah, byte [esp + 0x67]
mov byte [esp + 0x34], ah
movzx ebx, byte [esp + 0x68]
mov byte [esp + 0x4c], bl
movzx ebx, byte [esp + 0x69]
mov byte [esp + 0x3e], bl
mov ah, byte [esp + 0x6a]
mov byte [esp + 0x3d], ah
mov ah, byte [esp + 0x6b]
mov byte [esp + 0x3c], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0x3f], al
jmp 0x41a968
add ebx, 0xc
dec ecx
je 0x41aaca
cmp byte [ebx - 7], dl
jne 0x41a95e
cmp byte [ebx - 6], dh
jne 0x41a95e
cmp byte [ebx - 5], al
jne 0x41a95e
mov ah, byte [esp + 0x34]
cmp byte [ebx - 4], ah
jne 0x41a95e
mov ah, byte [esp + 0x4c]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x3f]
jne 0x41a95e
mov ah, byte [esp + 0x3e]
cmp byte [ebx - 2], ah
jne 0x41a95e
mov ah, byte [esp + 0x3d]
cmp byte [ebx - 1], ah
jne 0x41a95e
mov ah, byte [esp + 0x3c]
cmp byte [ebx], ah
jne 0x41a95e
mov dword [esp + 0x34], edi
mov dword [esp + 0x88], 0xc
mov dword [esp + 0x8c], 2
mov word [esp + 0x90], 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 + 0x88]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], 0x60616263
mov eax, 0xbc
mov edx, 0x43
movzx edi, byte [esp + eax - 0x60]
mov ebx, edx
xor ebx, eax
and ebx, edi
xor ebx, eax
add bl, 0x20
mov byte [esp + eax - 0x60], bl
inc eax
dec edx
cmp eax, 0xc0
jne 0x41aa14
mov eax, dword [esp + 0x5c]
mov edx, dword [0x44965c]
test edx, edx
je 0x41aaba
xor edi, edi
mov ebx, dword [0x449660]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x41aa8d
inc edi
cmp edx, edi
jne 0x41aa47
jmp 0x41aaba
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
mov edi, ebx
je 0x41a909
lea ecx, [esp + 0x54]
push ecx
push dword [esp + 0x50]
push edi
push 3
push dword [esp + 0x44]
push 0x14
push eax
push dword [0x449664]
call fcn.0043b480
add esp, 0x20
mov ecx, eax
jmp 0x41a909
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41aaba
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 [0x449664]
call fcn.0043b480
add esp, 0x24
test eax, eax
jns 0x41aac6
mov dword [esp + 0x44], 0
mov edi, dword [esp + 0x34]
push edi
call fcn.00439b60
add esp, 4
mov ebx, dword [esp + 0x48]
push ebx
call fcn.00439b60
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0x60616263
mov ecx, 0xbc
mov edx, 0x43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0xb8]
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, ecx
add bl, 0x20
mov byte [esp + ecx - 0xb8], bl
inc ecx
dec edx
cmp ecx, 0xc0
jne 0x41ab00
mov ecx, dword [0x44965c]
test ecx, ecx
je 0x41ab6a
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x449660]
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x41ab50
inc edi
cmp ecx, edi
jne 0x41ab40
jmp 0x41ab6a
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41ab6a
push eax
push 4
push ecx
push dword [0x449664]
call fcn.0043b480
add esp, 0x10
lea edi, [esp + 0x78]
mov ecx, edi
call fcn.00439f70
cmp dword [esp + 0x44], 0
jne 0x41ab88
add esi, ebp
mov ebp, dword [esi]
test ebp, ebp
jne 0x41a500
push dword [esp + 0x50]
call fcn.00439b60
add esp, 4
mov eax, dword [esp + 0x44]
jmp 0x41a310