Function at 0x4196b0
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 + 0x48], 0
mov dword [esp], 0
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov ecx, 0x67
movzx esi, byte [esp + eax - 0x94]
mov edi, ecx
and edi, esi
mov edx, eax
xor edx, esi
mov ebx, eax
and ebx, esi
add ebx, edi
add edx, esi
sub edx, ebx
add dl, 0x40
mov byte [esp + eax - 0x94], dl
inc eax
dec ecx
cmp eax, 0x9d
jne 0x4196e0
mov eax, dword [esp + 4]
mov ecx, dword [0x449dc8]
test ecx, ecx
je 0x419762
xor edx, edx
mov esi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xa896961c
je 0x419740
inc edx
cmp ecx, edx
jne 0x419730
jmp 0x419762
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x419762
mov eax, esp
push eax
push 0
push 0x28
push 0xfffffffffffffffe
push 0x10
push ecx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x1c
cmp eax, 0xc000007c
jne 0x419810
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov ecx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, ecx
and edi, esi
mov edx, eax
xor edx, esi
mov ebx, eax
and ebx, esi
add ebx, edi
add edx, esi
sub edx, ebx
add dl, 0x40
mov byte [esp + eax - 0x94], dl
inc eax
dec ecx
cmp eax, 0x9d
jne 0x419790
mov eax, dword [0x449dc8]
test eax, eax
je 0x419810
mov ecx, dword [esp + 4]
xor edx, edx
mov esi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb7c1bb11
je 0x4197f0
inc edx
cmp eax, edx
jne 0x4197e0
jmp 0x419810
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x419810
mov ecx, esp
push ecx
push 0x28
push 0xffffffffffffffff
push 0xc
push eax
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x18
mov ecx, dword [esp]
test ecx, ecx
je 0x419dee
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x94], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x419840
mov eax, dword [esp + 4]
mov edx, dword [0x449dc8]
test edx, edx
je 0x4198c5
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x6e83e51e
je 0x4198a0
inc esi
cmp edx, esi
jne 0x419890
jmp 0x4198c5
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x4198c5
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 1
push ecx
push 0x14
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x20
cmp eax, 0xc0000023
jne 0x4199d1
push dword [esp + 0x3c]
call fcn.00439230
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp]
mov dword [esp + 0x58], ecx
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov esi, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x94]
mov edi, edx
and edi, ebp
mov ebx, esi
xor ebx, ebp
mov ecx, esi
and ecx, ebp
add ecx, edi
add ebx, ebp
sub ebx, ecx
add bl, 0x40
mov byte [esp + esi - 0x94], bl
inc esi
dec edx
cmp esi, 0x9d
jne 0x419910
mov ecx, dword [esp + 4]
mov edi, dword [0x449dc8]
test edi, edi
je 0x4199a0
xor ebx, ebx
mov ebp, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x6e83e51e
je 0x419971
inc ebx
cmp edi, ebx
jne 0x419960
jmp 0x4199a0
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, ecx
je 0x4199a0
lea ecx, [esp + 0x3c]
push ecx
push dword [esp + 0x58]
push eax
push 1
push dword [esp + 0x68]
push 0x14
push edi
push dword [0x449dd0]
mov esi, eax
call fcn.0043ad80
add esp, 0x20
mov ecx, eax
mov eax, esi
test ecx, ecx
js 0x4199c8
mov ecx, dword [eax]
test ecx, ecx
je 0x4199c8
cmp byte [ecx], 1
jne 0x4199c8
cmp byte [ecx + 1], 0xf
ja 0x4199c8
cmp byte [ecx + 7], 5
jne 0x4199c8
cmp byte [ecx + 8], 0x12
jne 0x4199c8
mov ecx, dword [esp]
mov dword [esp + 0x48], ecx
push eax
call fcn.00439250
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x419df0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [0x448aa0]
mov dword [esp + 4], 0x298c2787
mov dword [esp + 8], 0x2d8d2bbc
mov dword [esp + 0xc], 0x11b92fbe
mov dword [esp + 0x10], 0x15461341
mov dword [esp + 0x14], 0x19bc1778
mov dword [esp + 0x18], 0x1db01bb6
mov word [esp + 0x1c], 0x1f1e
mov byte [esp + 0x1e], 0
mov ecx, 0x9cad0696
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x6352f96e]
xor esi, ecx
mov edx, esi
or edx, 0xfe
add edx, esi
not esi
and esi, 1
add edx, esi
add dl, 0x51
mov byte [esp + ecx + 0x6352f96e], dl
inc ecx
cmp ecx, 0x9cad06b1
jne 0x419a40
lea ecx, [esp + 4]
push 0x800
push 0
push ecx
call eax
lea ecx, [esp + 0x8c]
push eax
call fcn.0043a6e0
test al, al
je 0x419c17
mov dword [esp + 0x7c], 1
mov dword [esp + 0x88], 2
push 0x10a6c058
push dword [esp + 0x90]
call fcn.0043c800
add esp, 8
mov dword [esp + 4], 0x399d3785
mov dword [esp + 8], 0x3d913b73
mov dword [esp + 0xc], 0x21853fae
mov dword [esp + 0x10], 0x25b723b0
mov dword [esp + 0x14], 0x29862789
mov dword [esp + 0x18], 0x2db82b8b
mov dword [esp + 0x1c], 0x11a02f8b
mov dword [esp + 0x20], 0x15bd1380
mov dword [esp + 0x24], 0x19b11780
mov dword [esp + 0x28], 0x1db91bb6
mov dword [esp + 0x2c], 0x1a51fb9
mov word [esp + 0x30], 0x302
mov ecx, 0x816dc006
mov esi, 0x7e923ff9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x7e923ffe]
mov edx, esi
or edx, ebx
lea edi, [esi - 0x7e923f00]
and edi, ebx
xor edi, edx
and edi, ecx
add edi, edi
lea ebp, [esi - 0x7e923f80]
and ebp, edi
mov edx, edi
xor edx, ecx
add ebp, ebp
sub edx, ebp
add dl, bl
add dl, 0xd0
mov byte [esp + ecx + 0x7e923ffe], dl
inc ecx
dec esi
cmp ecx, 0x816dc034
jne 0x419b30
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 8]
push ecx
push 0
call eax
test eax, eax
je 0x419d67
mov ecx, dword [esp]
mov dword [esp + 0x6c], 0x24252627
mov byte [esp + 0x70], 0
mov eax, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x2c]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x2c], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x419bb0
mov eax, dword [esp + 0x6c]
mov edx, dword [0x449dc8]
test edx, edx
je 0x419cce
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x4b501129
je 0x419ca7
inc esi
cmp edx, esi
jne 0x419c00
jmp 0x419cce
mov ecx, dword [esp]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x94], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x419c40
mov eax, dword [0x449dc8]
test eax, eax
je 0x419dee
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x419dfb
inc esi
cmp eax, esi
jne 0x419c90
jmp 0x419dee
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x419cce
lea eax, [esp + 0x7c]
push 0
push 0
push 0x10
push eax
push 0
push ecx
push 0x18
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x24
test eax, eax
js 0x419d67
push dword [esp + 0x8c]
call dword [0x448bb4]
mov eax, dword [esp]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov ecx, 0x98
mov edx, 0x67
nop
nop
nop
movzx esi, byte [esp + ecx - 0x94]
mov edi, edx
and edi, esi
mov ebx, ecx
xor ebx, esi
mov ebp, ecx
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + ecx - 0x94], bl
inc ecx
dec edx
cmp ecx, 0x9d
jne 0x419d00
mov ecx, dword [0x449dc8]
test ecx, ecx
je 0x419e35
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x419e1b
inc esi
cmp ecx, esi
jne 0x419d50
jmp 0x419e35
push dword [esp + 0x8c]
call dword [0x448bb4]
mov ecx, dword [esp]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov edx, 0x67
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x94], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x419d90
mov eax, dword [0x449dc8]
test eax, eax
je 0x419dee
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x419dfb
inc esi
cmp eax, esi
jne 0x419de0
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 0x419df0
push ecx
push 4
push esi
push dword [0x449dd0]
call fcn.0043ad80
xor eax, eax
add esp, 0x10
jmp 0x419df0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x419e35
push eax
push 4
push ecx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x10
mov dword [esp + 0x60], 0
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov ecx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, ecx
and edi, esi
mov edx, eax
xor edx, esi
mov ebx, eax
and ebx, esi
add ebx, edi
add edx, esi
sub edx, ebx
add dl, 0x40
mov byte [esp + eax - 0x94], dl
inc eax
dec ecx
cmp eax, 0x9d
jne 0x419e60
mov eax, dword [esp + 4]
mov ecx, dword [0x449dc8]
test ecx, ecx
je 0x419ee4
xor edx, edx
mov esi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x419ec0
inc edx
cmp ecx, edx
jne 0x419eb0
jmp 0x419ee4
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x419ee4
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x1c
mov dword [esp + 4], 0x30fffef9
mov word [esp + 8], 0
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, 0xb677d7ab
mov ebx, ecx
and ebx, 8
sub ebx, edi
lea edi, [ebx + ebx]
not edi
add edi, ebx
and ebx, esi
not esi
and esi, edi
lea edi, [esi + esi]
not edi
add edi, esi
not ebx
and ebx, edi
mov esi, ebx
or esi, 0x56
and ebx, 0x56
add ebx, esi
add bl, 2
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 6
jne 0x419f00
cmp eax, dword [esp + 4]
jne 0x41a6d8
push dword [esp + 0x60]
call fcn.00439230
add esp, 4
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x94]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x94], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x419f80
mov eax, dword [esp + 4]
mov edx, dword [0x449dc8]
test edx, edx
je 0x41a002
xor esi, esi
mov edi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x67f3d776
je 0x419fe0
inc esi
cmp edx, esi
jne 0x419fd0
jmp 0x41a002
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x41a002
push 0
push ecx
push dword [esp + 0x58]
push 5
push 0x10
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x1c
test eax, eax
js 0x41a6cc
mov eax, dword [esp + 0x50]
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 + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov ecx, esi
push 0
push eax
call fcn.00439500
mov ecx, esi
push 0x1000
call fcn.00439520
test eax, eax
js 0x41a6b2
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov ecx, 0x98
mov ebp, 0x67
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x94]
mov edx, ebp
and edx, edi
mov ebx, ecx
xor ebx, edi
mov eax, ecx
and eax, edi
add eax, edx
add ebx, edi
sub ebx, eax
add bl, 0x40
mov byte [esp + ecx - 0x94], bl
inc ecx
dec ebp
cmp ecx, 0x9d
jne 0x41a090
mov eax, dword [esp + 4]
mov edx, dword [0x449dc8]
test edx, edx
je 0x41a114
xor edi, edi
mov ebx, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb7c1bb11
je 0x41a0f0
inc edi
cmp edx, edi
jne 0x41a0e0
jmp 0x41a114
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a114
lea eax, [esp + 0x44]
push eax
push 0xa
push dword [esp + 0x40]
push 0xc
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x18
test eax, eax
js 0x41a6aa
mov esi, dword [esp + 0x44]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov ecx, 0x98
mov edx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x94]
mov ebp, edx
and ebp, edi
mov ebx, ecx
xor ebx, edi
mov eax, ecx
and eax, edi
add eax, ebp
add ebx, edi
sub ebx, eax
add bl, 0x40
mov byte [esp + ecx - 0x94], bl
inc ecx
dec edx
cmp ecx, 0x9d
jne 0x41a140
mov eax, dword [esp + 4]
mov edx, dword [0x449dc8]
test edx, edx
je 0x41a1c5
xor edi, edi
mov ebx, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x6e83e51e
je 0x41a1a0
inc edi
cmp edx, edi
jne 0x41a190
jmp 0x41a1c5
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a1c5
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 1
push esi
push 0x14
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x20
cmp eax, 0xc0000023
jne 0x41a612
push dword [esp + 0x3c]
call fcn.00439230
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov esi, 0x98
mov edi, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi - 0x94]
mov ebp, edi
and ebp, ebx
mov edx, esi
xor edx, ebx
mov ecx, esi
and ecx, ebx
add ecx, ebp
add edx, ebx
sub edx, ecx
add dl, 0x40
mov byte [esp + esi - 0x94], dl
inc esi
dec edi
cmp esi, 0x9d
jne 0x41a210
mov ecx, dword [esp + 4]
mov edi, dword [0x449dc8]
test edi, edi
je 0x41a29f
xor edx, edx
mov ebx, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x6e83e51e
je 0x41a270
inc edx
cmp edi, edx
jne 0x41a260
jmp 0x41a29f
mov edi, dword [ebx + edx*8 + 4]
cmp edi, ecx
je 0x41a29f
lea ecx, [esp + 0x3c]
push ecx
push dword [esp + 0x38]
push eax
push 1
push dword [esp + 0x48]
push 0x14
push edi
push dword [0x449dd0]
mov edi, eax
call fcn.0043ad80
add esp, 0x20
mov ecx, eax
mov eax, edi
test ecx, ecx
js 0x41a609
mov ecx, dword [eax]
test ecx, ecx
je 0x41a609
cmp byte [ecx], 1
jne 0x41a609
cmp byte [ecx + 1], 0xf
ja 0x41a609
cmp byte [ecx + 7], 5
jne 0x41a609
cmp byte [ecx + 8], 0x12
jne 0x41a609
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov ecx, 0x98
mov edi, 0x67
movzx esi, byte [esp + ecx - 0x94]
mov ebx, edi
and ebx, esi
mov edx, ecx
xor edx, esi
mov ebp, ecx
and ebp, esi
add ebp, ebx
add edx, esi
sub edx, ebp
add dl, 0x40
mov byte [esp + ecx - 0x94], dl
inc ecx
dec edi
cmp ecx, 0x9d
jne 0x41a2f7
mov ecx, dword [esp + 4]
mov edi, dword [0x449dc8]
test edi, edi
je 0x41a379
xor ebx, ebx
mov edx, dword [0x449dcc]
cmp dword [edx + ebx*8], 0x6e83e51e
je 0x41a34b
inc ebx
cmp edi, ebx
jne 0x41a33b
jmp 0x41a379
mov edi, dword [edx + ebx*8 + 4]
cmp edi, ecx
je 0x41a379
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0
push 3
push dword [esp + 0x48]
push 0x14
push edi
push dword [0x449dd0]
mov edi, eax
call fcn.0043ad80
add esp, 0x20
mov ecx, eax
mov eax, edi
cmp ecx, 0xc0000023
jne 0x41a609
mov dword [esp + 0x38], eax
push dword [esp + 0x5c]
call fcn.00439230
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov eax, 0x98
mov ecx, 0x67
movzx esi, byte [esp + eax - 0x94]
mov edi, ecx
and edi, esi
mov edx, eax
xor edx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add edx, esi
sub edx, ebp
add dl, 0x40
mov byte [esp + eax - 0x94], dl
inc eax
dec ecx
cmp eax, 0x9d
jne 0x41a3be
mov ecx, dword [esp + 4]
mov eax, dword [0x449dc8]
test eax, eax
je 0x41a412
xor edi, edi
mov edx, dword [0x449dcc]
cmp dword [edx + edi*8], 0x6e83e51e
je 0x41a589
inc edi
cmp eax, edi
jne 0x41a400
mov edi, ebx
test ecx, ecx
js 0x41a5fc
mov ecx, dword [edi]
test ecx, ecx
je 0x41a5fc
movzx edx, byte [esp + 0x80]
mov dh, byte [esp + 0x81]
movzx eax, byte [esp + 0x82]
mov ah, byte [esp + 0x83]
mov byte [esp + 0x34], ah
movzx ebx, byte [esp + 0x84]
mov byte [esp + 0x4c], bl
movzx ebx, byte [esp + 0x85]
mov byte [esp + 0x42], bl
mov ah, byte [esp + 0x86]
mov byte [esp + 0x41], ah
mov ah, byte [esp + 0x87]
mov byte [esp + 0x40], ah
mov ebx, edi
add ebx, 0xb
mov byte [esp + 0x43], al
jmp 0x41a48b
add ebx, 0xc
dec ecx
je 0x41a5fc
cmp byte [ebx - 7], dl
jne 0x41a481
cmp byte [ebx - 6], dh
jne 0x41a481
cmp byte [ebx - 5], al
jne 0x41a481
mov ah, byte [esp + 0x34]
cmp byte [ebx - 4], ah
jne 0x41a481
mov ah, byte [esp + 0x4c]
cmp byte [ebx - 3], ah
movzx eax, byte [esp + 0x43]
jne 0x41a481
mov ah, byte [esp + 0x42]
cmp byte [ebx - 2], ah
jne 0x41a481
mov ah, byte [esp + 0x41]
cmp byte [ebx - 1], ah
jne 0x41a481
mov ah, byte [esp + 0x40]
cmp byte [ebx], ah
jne 0x41a481
mov dword [esp + 0x34], edi
mov dword [esp + 0x94], 0xc
mov dword [esp + 0x98], 2
mov word [esp + 0x9c], 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 + 0x94]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x66], 0x24252627
mov byte [esp + 0x6a], 0
mov eax, 0x98
mov edx, 0x67
movzx esi, byte [esp + eax - 0x32]
mov edi, edx
and edi, esi
mov ebx, eax
xor ebx, esi
mov ebp, eax
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + eax - 0x32], bl
inc eax
dec edx
cmp eax, 0x9d
jne 0x41a53c
mov eax, dword [esp + 0x66]
mov edx, dword [0x449dc8]
test edx, edx
je 0x41a5ec
xor edi, edi
mov ebx, dword [0x449dcc]
cmp dword [ebx + edi*8], 0x4d7e2c49
je 0x41a5bf
inc edi
cmp edx, edi
jne 0x41a579
jmp 0x41a5ec
mov eax, dword [edx + edi*8 + 4]
cmp eax, ecx
mov edi, ebx
je 0x41a414
lea ecx, [esp + 0x5c]
push ecx
push dword [esp + 0x50]
push edi
push 3
push dword [esp + 0x44]
push 0x14
push eax
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x20
mov ecx, eax
jmp 0x41a414
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je 0x41a5ec
lea eax, [esp + 0x48]
push eax
push 2
push 0
lea eax, [esp + 0x10]
push eax
push 0x2000000
push ecx
push 0x18
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x24
test eax, eax
jns 0x41a5f8
mov dword [esp + 0x48], 0
mov edi, dword [esp + 0x34]
push edi
call fcn.00439250
add esp, 4
mov eax, dword [esp + 0x38]
push eax
call fcn.00439250
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 4], 0x24252627
mov byte [esp + 8], 0
mov ecx, 0x98
mov edx, 0x67
nop
nop
nop
movzx esi, byte [esp + ecx - 0x94]
mov edi, edx
and edi, esi
mov ebx, ecx
xor ebx, esi
mov ebp, ecx
and ebp, esi
add ebp, edi
add ebx, esi
sub ebx, ebp
add bl, 0x40
mov byte [esp + ecx - 0x94], bl
inc ecx
dec edx
cmp ecx, 0x9d
jne 0x41a630
mov ecx, dword [0x449dc8]
test ecx, ecx
lea esi, [esp + 0x6c]
je 0x41a6aa
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb430e561
je 0x41a690
inc edi
cmp ecx, edi
jne 0x41a680
jmp 0x41a6aa
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x41a6aa
push eax
push 4
push ecx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x10
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
mov ecx, esi
call fcn.00439670
cmp dword [esp + 0x48], 0
jne 0x41a6cc
add ebx, edi
mov edi, dword [ebx]
test edi, edi
jne 0x41a020
push dword [esp + 0x50]
call fcn.00439250
add esp, 4
mov eax, dword [esp + 0x48]
jmp 0x419df0