Function at 0x4095f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ebe6
mov eax, dword fs:[0]
push eax
sub esp, 0x77c
mov eax, dword [0x48c084]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x5c]
call fcn.00426710
push 0x390
lea eax, [ebp - 0x6d0]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00449b30
add esp, 0xc
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
push 0
push 0x4825c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5d0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x6d0]
call fcn.00406c80
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x4096cc
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4096c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3db
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x409704
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4096fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3e0
push edx
push ecx
call fcn.00447b45
add esp, 8
push 0xac
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.00449b30
mov eax, 6
mov dword [ebp - 0x1c], 0xcecedcdf
add esp, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0xbed9d5
xor ecx, ecx
mov al, cl
sub al, 0x48
xor byte [ebp + ecx - 0x1c], al
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x409732
mov byte [ebp + eax - 0x1c], 0
lea ecx, [ebp - 0x1c]
mov word [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409765
sub ecx, edx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.0040c5d0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x748]
call fcn.004025b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6ec]
push 0
push 0x4825c4
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], 0
call fcn.0040c5d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
push 0
push 0x4825c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5d0
push 0
lea eax, [ebp - 0x748]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x260]
call fcn.00403a90
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x260]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - method.3.virtual_0], 0x48263c
cmp dword [ebp - 0x6a4], eax
je 0x409844
lea ecx, [ebp - 0x260]
mov dword [eax], ecx
add dword [ebp - 0x6a8], 4
jmp 0x409857
lea ecx, [ebp - 0x6d4]
push ecx
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0040df50
mov dword [ebp - method.3.virtual_0], 0x48263c
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x409899
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40988f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3e5
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x6d8]
cmp edx, 0x10
jb 0x4098d7
mov ecx, dword [ebp - 0x6ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4098cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3ea
push edx
push ecx
call fcn.00447b45
add esp, 8
lea ecx, [ebp - 0x728]
call fcn.004024a0
lea ecx, [ebp - 0x748]
call fcn.00402510
push fcn.00402af0
push 1
push 0x1c
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xf
push eax
call fcn.004477ca
push 0xac
lea eax, [ebp - 0x1b4]
push 0
push eax
call fcn.00449b30
add esp, 0xc
mov dword [ebp - 0x20], 0xc2cedcdf
xor ecx, ecx
mov dword [ebp - 0x1c], 0xdbd7cbdd
mov eax, 8
mov byte [ebp - 0x18], 0xc0
mov dword [ebp - 0x24], eax
mov word [ebp - 0x17], cx
mov byte [ebp - 0x15], cl
nop dword [eax]
mov al, cl
sub al, 0x48
xor byte [ebp + ecx - 0x20], al
inc ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
jb 0x409940
mov byte [ebp + eax - 0x20], 0
lea ecx, [ebp - 0x20]
mov word [ebp - 0x708], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6f4], 0
mov dword [ebp - 0x6f0], 0xf
mov byte [ebp - 0x704], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409980
sub ecx, edx
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x704]
call fcn.0040c5d0
lea eax, [ebp - 0x6ec]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x708]
push eax
push ecx
lea ecx, [ebp - 0x788]
call fcn.004025b0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2c]
push 0
push 0x4825c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5d0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x6ec]
push 0
push 0x4825c4
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], 0
call fcn.0040c5d0
push 0
lea eax, [ebp - 0x788]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x6ec]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00403a90
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - method.3.virtual_0], 0x48263c
cmp dword [ebp - 0x6a4], eax
je 0x409a68
lea ecx, [ebp - 0x1b4]
mov dword [eax], ecx
add dword [ebp - 0x6a8], 4
jmp 0x409a7b
lea ecx, [ebp - 0x6d4]
push ecx
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0040df50
mov dword [ebp - method.3.virtual_0], 0x48263c
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x6d8]
cmp edx, 0x10
jb 0x409ac3
mov ecx, dword [ebp - 0x6ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ab9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3ef
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x409afb
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409af1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3f4
push edx
push ecx
call fcn.00447b45
add esp, 8
lea ecx, [ebp - 0x768]
call fcn.004024a0
lea ecx, [ebp - 0x788]
call fcn.00402510
push fcn.00402af0
push 1
push 0x1c
lea eax, [ebp - 0x708]
mov byte [ebp - 4], 0x19
push eax
call fcn.004477ca
push 0xac
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00449b30
mov eax, 0xa
mov dword [ebp - 0x20], 0xc2cedcdf
add esp, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0xd9d8d2dd
xor ecx, ecx
mov dword [ebp - 0x18], 0xc2b3a5
nop
mov al, cl
sub al, 0x48
xor byte [ebp + ecx - 0x20], al
inc ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
jb 0x409b60
mov byte [ebp + eax - 0x20], 0
lea ecx, [ebp - 0x20]
mov word [ebp - 0x48], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409b93
sub ecx, edx
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.0040c5d0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x748]
call fcn.004025b0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
push 0
push 0x4825c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5d0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x6ec]
push 0
push 0x4825c4
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], 0
call fcn.0040c5d0
push 0
lea eax, [ebp - 0x748]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x6ec]
push eax
lea ecx, [ebp - 0x108]
call fcn.00403a90
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x108]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - method.3.virtual_0], 0x48263c
cmp dword [ebp - 0x6a4], eax
je 0x409c72
lea ecx, [ebp - 0x108]
mov dword [eax], ecx
add dword [ebp - 0x6a8], 4
jmp 0x409c85
lea ecx, [ebp - 0x6d4]
push ecx
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0040df50
mov dword [ebp - method.3.virtual_0], 0x48263c
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x6d8]
cmp edx, 0x10
jb 0x409ccd
mov ecx, dword [ebp - 0x6ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409cc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3f9
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x409d05
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409cfb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a3fe
push edx
push ecx
call fcn.00447b45
add esp, 8
lea ecx, [ebp - 0x728]
call fcn.004024a0
lea ecx, [ebp - 0x748]
call fcn.00402510
push fcn.00402af0
push 1
push 0x1c
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x23
push eax
call fcn.004477ca
push 0xe0
lea eax, [ebp - 0x340]
push 0
push eax
call fcn.00449b30
add esp, 0xc
mov dword [ebp - 0x20], 0xded6d0de
xor ecx, ecx
mov dword [ebp - 0x1c], 0xdad3dcd2
mov eax, 8
mov byte [ebp - 0x18], 0xc0
mov dword [ebp - 0x24], eax
mov word [ebp - 0x17], cx
mov byte [ebp - 0x15], cl
nop word [eax + eax]
mov al, cl
sub al, 0x48
xor byte [ebp + ecx - 0x20], al
inc ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
jb 0x409d70
mov byte [ebp + eax - 0x20], 0
lea ecx, [ebp - 0x20]
mov word [ebp - 0x708], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6f4], 0
mov dword [ebp - 0x6f0], 0xf
mov byte [ebp - 0x704], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409db0
sub ecx, edx
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x704]
call fcn.0040c5d0
lea eax, [ebp - 0x6ec]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x708]
push eax
push ecx
lea ecx, [ebp - 0x788]
call fcn.004025b0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2c]
push 0
push 0x4825c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5d0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x6ec]
push 0
push 0x4825c4
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], 0
call fcn.0040c5d0
push 0
lea eax, [ebp - 0x788]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x6ec]
push eax
lea ecx, [ebp - 0x340]
call fcn.00403a90
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x340], 0x482ba4
call fcn.0040b000
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x27c]
call fcn.0040b000
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x340]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebp - 0x6a8]
cmp dword [ebp - 0x6a4], eax
je 0x409ed0
lea ecx, [ebp - 0x340]
mov dword [eax], ecx
add dword [ebp - 0x6a8], 4
jmp 0x409ee3
lea ecx, [ebp - 0x6d4]
push ecx
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0040df50
mov dword [ebp - 0x340], 0x482ba4
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x6d8]
cmp edx, 0x10
jb 0x409f2b
mov ecx, dword [ebp - 0x6ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a403
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x409f63
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a408
push edx
push ecx
call fcn.00447b45
add esp, 8
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x409f9b
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a40d
push edx
push ecx
call fcn.00447b45
add esp, 8
lea ecx, [ebp - 0x768]
call fcn.004024a0
lea ecx, [ebp - 0x788]
call fcn.00402510
push fcn.00402af0
push 1
push 0x1c
lea eax, [ebp - 0x708]
mov byte [ebp - 4], 0x31
push eax
call fcn.004477ca
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x6d0]
mov eax, dword [ebp - 0x6d0]
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
add esi, 0x18
call dword [eax + 0x34]
push edi
push esi
lea eax, [ebp - 0x6d4]
push eax
lea ecx, [ebp - 0x6d0]
call fcn.0040eb40
mov dword [ebp - 4], 0x31
lea ecx, [ebp - 0x260]
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + 4]
call eax
test al, al
je 0x40a18e
lea ecx, [ebp - 0x44]
call fcn.004085c0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp - 0x6ec]
push eax
call fcn.00416750
add esp, 8
mov byte [ebp - 4], 0x35
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x40a048
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x48d9c8
call fcn.00411240
mov edx, dword [ebp - 0x6d8]
add esp, 4
cmp edx, 0x10
jb 0x40a092
mov ecx, dword [ebp - 0x6ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a088
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a412
push edx
push ecx
call fcn.00447b45
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x40a0cc
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a0c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a417
push edx
push ecx
call fcn.00447b45
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x340]
call fcn.0040a4e0
lea ecx, [ebp - 0x7c]
mov dword [ebp - method.3.virtual_0], vtable.3.0
call fcn.004024a0
lea ecx, [ebp - 0x9c]
call fcn.00402510
lea ecx, [ebp - 0x108]
call fcn.00402f90
lea ecx, [ebp - 0x128]
mov dword [ebp - method.3.virtual_0], vtable.3.0
call fcn.004024a0
lea ecx, [ebp - 0x148]
call fcn.00402510
lea ecx, [ebp - 0x1b4]
call fcn.00402f90
lea ecx, [ebp - 0x1d4]
mov dword [ebp - method.3.virtual_0], vtable.3.0
call fcn.004024a0
lea ecx, [ebp - 0x1f4]
call fcn.00402510
lea ecx, [ebp - 0x260]
call fcn.00402f90
lea ecx, [ebp - 0x6d0]
call fcn.00407490
push dword [ebp - 0x58]
call fcn.00447508
add esp, 4
lea ecx, [ebp - 0x54]
call fcn.0040c130
xor eax, eax
jmp 0x40a3ae
mov eax, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1b4]
mov eax, dword [eax + 4]
call eax
test al, al
je 0x40a280
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004167f0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2c]
call fcn.00408b80
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x40a206
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a1fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a41c
push edx
push ecx
call fcn.00447b45
add esp, 8
push dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x18], 0x10
lea edx, [ebp - 0x2c]
mov ecx, 0x48d9c8
mov dword [ebp - 0x30], 7
cmovae edx, dword [ebp - 0x2c]
mov word [ebp - 0x44], ax
call fcn.00411240
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 0x10
jb 0x40a269
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a25f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a421
push edx
push ecx
call fcn.00447b45
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
jmp 0x40a0e0
mov eax, dword [ebp - 0x108]
lea ecx, [ebp - 0x108]
mov eax, dword [eax + 4]
call eax
test al, al
je 0x40a0e0
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004167f0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x39
call fcn.004091e0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x31
mov bl, al
call fcn.0040a9d0
movzx edx, bl
lea ecx, [ebp - 0x44]
call fcn.00401e20
mov byte [ebp - 4], 0x3a
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x40a2df
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x48d9c8
call fcn.00411240
add esp, 4
lea ecx, [ebp - 0x44]
call fcn.0040aec0
jmp 0x40a0e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004474f7
mov esp, ebp
pop ebp
ret
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
call fcn.0044ca29
int3