Function at 0x440320
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7f9084
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x90df34]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x1808d24]
cmp dword [esi + 0x94], 0
lea edi, [esi + 0x84]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x108], edi
jbe 0x440f81
push 0
lea ecx, [ebp - 0x100]
call fcn.0045fcf0
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0
call fcn.00465aa0
push 1
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 1
push eax
push edi
lea ecx, [ebp - 0xe4]
call fcn.00467740
push 0x8d3cac
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00461950
mov byte [ebp - 4], 2
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.006ae215
add esp, 4
mov dword [0x1808f08], eax
lea ecx, [ebp - 0x100]
push 0x8d3cb4
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440405
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x660], eax
cmp edx, 0x10
jb 0x440448
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44043e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fa7
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3cc4
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x44046b
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x664], eax
cmp edx, 0x10
jb 0x4404ae
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4404a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fac
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3cd0
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x4404d1
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x5f8], eax
cmp edx, 0x10
jb 0x440514
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44050a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fb1
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3cd8
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440537
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x5fc], eax
cmp edx, 0x10
jb 0x44057a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440570
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fb6
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3ce4
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x44059d
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x600], eax
cmp edx, 0x10
jb 0x4405e0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4405d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fbb
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3cf0
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440603
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x638], eax
cmp edx, 0x10
jb 0x440646
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44063c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fc0
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d00
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440669
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x654], eax
cmp edx, 0x10
jb 0x4406ac
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4406a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fc5
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d10
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x4406cf
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x668], eax
cmp edx, 0x10
jb 0x440712
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440708
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fca
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d1c
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440735
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x658], eax
cmp edx, 0x10
jb 0x440778
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44076e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fcf
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d2c
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x44079b
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x65c], eax
cmp edx, 0x10
jb 0x4407de
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4407d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fd4
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d34
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440801
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x66c], eax
cmp edx, 0x10
jb 0x440844
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44083a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fd9
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d40
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440867
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x670], eax
cmp edx, 0x10
jb 0x4408aa
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4408a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fde
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d48
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x4408cd
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x678], eax
cmp edx, 0x10
jb 0x440910
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440906
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fe3
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d54
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440933
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0xcc], eax
cmp edx, 0x10
jb 0x440976
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44096c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fe8
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d60
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440999
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x67c], eax
cmp edx, 0x10
jb 0x4409dc
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4409d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440fed
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d74
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x4409ff
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x680], eax
cmp edx, 0x10
jb 0x440a42
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440a38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440ff2
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d84
lea ecx, [ebp - 0x100]
call fcn.00460570
sub esp, 0x18
mov byte [ebp - 0xe5], 0
mov ecx, esp
mov dword [ebp - 0x10c], esp
mov edi, eax
push 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push 0x8d43c0
mov byte [ecx], 0
call fcn.00405b40
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, edi
push esp
call fcn.00461950
mov dl, byte [ebp - 0xe5]
lea ecx, [esi + 0x694]
mov byte [ebp - 4], 2
call fcn.00415620
add esp, 0x30
lea ecx, [ebp - 0x100]
push 0x8d3d8c
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 8
jb 0x440ae1
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440ae6
sub ecx, esi
mov esi, dword [ebp - 0x104]
sar ecx, 1
push ecx
push edx
lea ecx, [esi + 0x9c]
call fcn.0040d850
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x440b46
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x440b3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440ff7
push edx
push ecx
call fcn.0059a5db
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp edx, 0x10
jb 0x440b92
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440b88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440ffc
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3d94
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440bb5
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x7b4], eax
cmp edx, 0x10
jb 0x440bf8
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440bee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441001
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3da0
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440c1b
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x684], eax
cmp edx, 0x10
jb 0x440c5e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440c54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441006
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3da4
lea ecx, [ebp - 0x100]
call fcn.00460570
sub esp, 0x18
mov byte [ebp - 0xe5], 0
mov ecx, esp
mov dword [ebp - 0x110], esp
mov edi, eax
push 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push 0x8d43c0
mov byte [ecx], 0
call fcn.00405b40
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, edi
push esp
call fcn.00461950
mov dl, byte [ebp - 0xe5]
lea ecx, [esi + 0x688]
mov byte [ebp - 4], 2
call fcn.00415620
add esp, 0x30
lea ecx, [ebp - 0x100]
push 0x8d3dac
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440ce9
mov eax, dword [eax]
push eax
call fcn.006ae215
mov esi, dword [ebp - 0x104]
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x6a0], eax
cmp edx, 0x10
jb 0x440d32
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440d28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44100b
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3dbc
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
cmp dword [eax + 0x14], 0x10
jb 0x440d55
mov eax, dword [eax]
push eax
call fcn.006ae215
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [esi + 0x6a4], eax
cmp edx, 0x10
jb 0x440d98
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440d8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441010
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3dc8
lea ecx, [ebp - 0x100]
call fcn.00460570
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x70]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 8
cmp dword [edx + 0x14], 8
jb 0x440dcf
mov edx, dword [edx]
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440dd4
sub ecx, edi
lea edi, [esi + 0x6a8]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.0040d850
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x440e2c
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x440e22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x441015
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
cmp edx, 0x10
jb 0x440e74
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440e6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44101a
push edx
push ecx
call fcn.0059a5db
add esp, 8
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
jb 0x440e8e
mov edi, dword [edi]
movups xmm0, xmmword [0x8d4400]
mov ax, word [0x8d4410]
xor esi, esi
mov word [ebp - 0x2c], ax
movups xmmword [ebp - 0x3c], xmm0
mov eax, 0x8d3dcb09
mov ecx, esi
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3a
sub ecx, eax
add ecx, 0x33
xor word [ebp + esi*2 - 0x3c], cx
inc esi
cmp esi, 9
jl 0x440ea5
mov eax, dword [0x1808d24]
mov ecx, 0x1808e60
cmp dword [0x1808e74], 8
push 0xff
cmovae ecx, dword [0x1808e60]
cmp dword [eax + 0x6e8], 0
lea eax, [ebp - 0x3c]
push edi
push 1
push eax
push ecx
push 0x80000001
call dword [0x8116b0]
mov ecx, dword [ebp - 0x108]
mov eax, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x440f14
mov eax, dword [ecx]
mov dword [ecx + 0x10], 0
mov byte [eax], 0
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x440f52
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440f48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44101f
push edx
push ecx
call fcn.0059a5db
add esp, 8
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.0043dcc0
lea ecx, [ebp - 0x100]
call fcn.004600c0
mov eax, 1
jmp 0x440f8c
push 0x12
mov ecx, esi
call fcn.00442590
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0059a3cf
mov esp, ebp
pop ebp
ret
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
int3