Function at 0x44c400
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x5bab0c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
mov eax, dword [ebp + 0x8e20]
mov dword [esp + 0x1c], ebx
cmp eax, ebx
je 0x44c47b
mov eax, dword [ebp + 0x8e1c]
lea ecx, [esp + 0x14]
push eax
call fcn.00593450
push 1
push ebx
lea ecx, [ebp + 0x8e18]
mov dword [esp + 0x13c], ebx
call fcn.0058d859
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, ebp
call fcn.004781b0
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
jmp 0x44e81c
mov edi, dword [esp + 0x13c]
cmp edi, 4
jne 0x44c59f
cmp dword [ebp + 0x850c], ebx
je 0x44c4a5
mov ecx, ebp
call fcn.00455460
test eax, eax
jne 0x44c4a5
mov ecx, ebp
call fcn.00449e20
cmp dword [ebp + 0x118], ebx
je 0x44e81c
mov edx, dword [ebp + 0x114]
push 1
push 0
lea ecx, [ebp + 0x110]
mov ebx, dword [edx]
call fcn.0058d4d8
mov edi, dword [ebp + 0x9fb0]
mov ecx, 0x400
mov esi, ebx
add edi, 0x406c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x6646f4]
test eax, eax
je 0x44c4fb
mov edi, dword [ebp + 0x9fb4]
mov ecx, 0x400
mov esi, ebx
add edi, 0x406c
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.0058ed21
mov eax, dword [ebp + 0x9fb0]
mov edi, 1
mov esi, dword [0x5da8dc]
add esp, 4
mov dword [eax + 0x60b4], edi
mov ecx, dword [ebp + 0x9fb0]
push 0
push 0
mov edx, dword [ecx + 0x1c]
push edx
call esi
mov eax, dword [0x6646f4]
test eax, eax
je 0x44c550
mov eax, dword [ebp + 0x9fb4]
push 0
push 0
mov dword [eax + 0x60b4], edi
mov ecx, dword [ebp + 0x9fb4]
mov edx, dword [ecx + 0x1c]
push edx
call esi
mov eax, dword [0x63fd78]
test eax, eax
je 0x44e81c
mov eax, dword [ebp + 0x9fb0]
mov esi, dword [0x5da808]
push 0x105
push 0
mov eax, dword [eax + 0x1c]
push 0
push eax
call esi
mov eax, dword [0x6646f4]
test eax, eax
je 0x44e81c
mov ebp, dword [ebp + 0x9fb4]
push 0x105
push 0
push 0
mov ecx, dword [ebp + 0x1c]
push ecx
call esi
jmp 0x44e81c
cmp edi, 3
jne 0x44c618
cmp dword [0x62dc58], ebx
jne 0x44c5e6
mov eax, dword [ebp + 0xa648]
cmp eax, ebx
je 0x44c5e6
push 0x626048
push eax
mov ecx, ebp
call fcn.00489280
test eax, eax
je 0x44c5d6
mov edx, dword [ebp + 0xa648]
push edx
call fcn.00504c80
add esp, 4
mov ecx, dword [ebp + 0xa648]
push ebx
push ebx
push ebx
mov eax, dword [ecx]
push 3
call dword [eax + 4]
mov ebp, dword [ebp + 0x8328]
cmp ebp, ebx
je 0x44c5f8
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x58]
mov ecx, dword [0x6643e4]
mov eax, 0xa
cmp ecx, eax
jle 0x44e81c
sub ecx, eax
mov dword [0x6643e4], ecx
jmp 0x44e81c
cmp edi, 2
jne 0x44c6cd
cmp dword [0x62e8ac], ebx
je 0x44c6cd
cmp dword [0x63fdec], ebx
jne 0x44c641
cmp dword [0x63fdf0], ebx
je 0x44c6cd
mov eax, dword [0x63fd4c]
cmp dword [eax + 0xa1c0], ebx
je 0x44c665
mov esi, dword [0x5da440]
push 0xa
call esi
mov eax, dword [0x63fd4c]
cmp dword [eax + 0xa1c0], ebx
jne 0x44c654
mov eax, dword [eax + 0xa078]
mov esi, dword [0x5da488]
push eax
call esi
mov ecx, dword [0x63fd4c]
mov edx, dword [ecx + 0xa07c]
push edx
call esi
lea eax, [ebp + 0x8f40]
lea ecx, [ebp + 0xa080]
push eax
call fcn.005002b0
lea ecx, [ebp + 0x8f34]
push ecx
lea ecx, [ebp + 0xa084]
call fcn.00593814
mov dword [ebp + 0xa1c0], 8
mov edx, dword [ebp + 0xa078]
push edx
call dword [0x5da484]
mov eax, dword [ebp + 0xa07c]
push 0xffffffffffffffff
push eax
call dword [0x5da480]
mov ecx, ebp
call fcn.0044e900
mov ecx, dword [ebp + 0xa648]
cmp ecx, ebx
je 0x44c73e
mov edx, dword [ecx]
push ebx
push ebx
push ebx
push 0x9e
call dword [edx + 4]
cmp eax, ebx
je 0x44c73e
cmp dword [ebp + 0xaa10], ebx
jne 0x44c73e
cmp dword [ebp + 0x93a0], ebx
jne 0x44c713
mov ecx, ebp
call fcn.0044ab90
test eax, eax
je 0x44c73e
mov ecx, ebp
call fcn.00449e20
jmp 0x44c73e
cmp eax, 2
jne 0x44c73e
cmp dword [ebp + 0x83d8], ebx
jne 0x44c73e
mov eax, dword [ebp + 0xa648]
push 0x62da90
push eax
mov ecx, ebp
call fcn.00489280
test eax, eax
je 0x44c73e
mov ecx, ebp
call fcn.00449d90
cmp edi, 2
jne 0x44c970
cmp dword [ebp + 0xa64c], ebx
je 0x44c970
mov ecx, dword [0x6643e4]
mov eax, 0x64
cmp ecx, eax
jle 0x44c76a
sub ecx, eax
mov dword [0x6643e4], ecx
mov ecx, dword [ebp + 0xa64c]
push 2
mov edx, dword [ecx]
call dword [edx + 0x40]
mov ecx, dword [ebp + 0xa648]
cmp ecx, ebx
je 0x44e81c
mov eax, dword [ecx]
push ebx
push ebx
push ebx
push 0xd
call dword [eax + 4]
mov esi, eax
mov eax, dword [ebp + 0xa86c]
cmp esi, eax
je 0x44c7ed
cmp esi, ebx
je 0x44c7ed
mov eax, 0x4b0
cdq
idiv esi
mov ecx, eax
mov byte [esp + 0x11], al
sar ecx, 8
and cl, 0xf
add cl, 0x60
mov byte [esp + 0x10], cl
mov ecx, dword [ebp + 0xa64c]
mov eax, dword [ecx + 0x30e7c]
cmp eax, 1
jne 0x44c7dc
lea edx, [esp + 0x10]
push 2
push edx
call fcn.0050e2a0
add esp, 8
jmp 0x44c7ed
cmp eax, 2
jne 0x44c7ed
push ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004b94e0
mov dword [ebp + 0xa86c], esi
mov ecx, dword [ebp + 0xa648]
push ebx
push ebx
mov edx, dword [ecx]
push ebx
push 0x9c
call dword [edx + 4]
cmp eax, dword [ebp + 0xa870]
je 0x44c85d
cmp esi, ebx
je 0x44e81c
cmp eax, ebx
mov dword [ebp + 0xa870], eax
mov ecx, dword [ebp + 0xa64c]
setne al
add eax, 8
or al, 0x40
mov byte [esp + 0x10], al
mov eax, dword [ecx + 0x30e7c]
cmp eax, 1
jne 0x44c84b
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.0050e2a0
add esp, 8
jmp 0x44c85d
cmp eax, 2
jne 0x44c85d
push ebx
lea edx, [esp + 0x14]
push 1
push edx
call fcn.004b94e0
cmp esi, ebx
je 0x44e81c
mov ecx, dword [ebp + 0xa648]
push ebx
push ebx
push ebx
mov eax, dword [ecx]
push 0x11
call dword [eax + 4]
mov ecx, dword [ebp + 0xa648]
push ebx
push ebx
push ebx
mov edx, dword [ecx]
push 0x12
mov esi, eax
call dword [edx + 4]
mov ecx, eax
mov eax, dword [ebp + 0xa864]
cmp eax, esi
jne 0x44c89f
cmp dword [ebp + 0xa868], ecx
je 0x44e81c
mov eax, esi
mov dword [ebp + 0xa864], esi
cdq
and edx, 7
mov dword [ebp + 0xa868], ecx
add eax, edx
mov ebx, eax
sar ebx, 3
cmp ebx, 0xe
jl 0x44c8c2
mov ebx, 0xe
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 0xfe
mov dword [esp + 0x1c], eax
jl 0x44c8e4
mov dword [esp + 0x1c], 0xfe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xa648]
test ecx, ecx
je 0x44c913
mov eax, dword [ecx]
push 0
push 0
push 0
push 0x9f
call dword [eax + 4]
test eax, eax
je 0x44c90f
mov ebx, 0xf
mov dword [esp + 0x1c], 0xff
mov eax, dword [esp + 0x1c]
mov ebp, dword [ebp + 0xa64c]
or bl, 0x80
mov byte [esp + 0x20], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x24], 0
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], al
mov eax, dword [ebp + 0x30e7c]
cmp eax, 1
jne 0x44c952
lea ecx, [esp + 0x20]
push 5
push ecx
call fcn.0050e2a0
add esp, 8
jmp 0x44e81c
cmp eax, 2
jne 0x44e81c
push 0
lea edx, [esp + 0x24]
push 5
push edx
mov ecx, ebp
call fcn.004b94e0
jmp 0x44e81c
mov ecx, dword [0x6643e4]
mov eax, 0x1e
cmp ecx, eax
jle 0x44c987
sub ecx, eax
mov dword [0x6643e4], ecx
cmp dword [0x63fd7c], ebx
jne 0x44e81c
mov esi, 1
mov dword [0x63fd7c], esi
mov ecx, dword [ebp + 0xa648]
cmp ecx, ebx
je 0x44c9b4
mov eax, dword [ecx]
push ebx
push ebx
push ebx
push 0x3e
call dword [eax + 4]
jmp 0x44c9b6
xor eax, eax
mov dword [ebp + 0xa26c], eax
mov ecx, dword [ebp + 0x9fb0]
call fcn.004b0ba0
cmp dword [0x6646f4], ebx
je 0x44c9da
mov ecx, dword [ebp + 0x9fb4]
call fcn.004b0ba0
cmp dword [0x63fd68], ebx
je 0x44cac1
mov eax, dword [0x62dc5c]
test eax, eax
je 0x44cac1
mov ecx, eax
lea edx, [esp + 0x14]
dec ecx
lea edi, [ebp + 0x8594]
mov dword [0x62dc5c], ecx
lea ecx, [esp + 0x20]
push ecx
push edx
push esi
mov ecx, edi
call fcn.0059c309
mov eax, dword [esp + 0x14]
mov ecx, dword [0x63fd60]
cmp eax, ecx
je 0x44cac1
mov ecx, ebp
mov dword [0x63fd68], 0
call fcn.00592e45
mov ecx, ebp
call fcn.0044f510
mov edx, dword [ebp + 0x85b0]
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [0x5da8d8]
mov eax, dword [ebp + 0x85b0]
mov esi, dword [0x5da8f0]
push 0
push 0
push 0xb
push eax
call esi
mov ecx, dword [ebp + 0x8674]
push 0
push 0
push 0xb
push ecx
call esi
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xbc]
mov eax, dword [ebp + 0x8658]
lea ecx, [ebp + 0x8658]
call dword [eax + 0xbc]
mov ecx, dword [ebp + 0x85b0]
push 0
push 1
push 0xb
push ecx
call esi
mov edx, dword [ebp + 0x8674]
push 0
push 1
push 0xb
push edx
call esi
mov eax, dword [ebp + 0x1c]
push 1
push 0
push eax
call dword [0x5da8dc]
mov esi, 1
mov eax, dword [0x62dc58]
test eax, eax
je 0x44d06d
mov ecx, dword [ebp + 0x1c]
push 0x62debc
mov dword [0x63fd44], ecx
mov ecx, ebp
call fcn.004781b0
mov ecx, ebp
call fcn.004523c0
mov edx, dword [ebp + 0x9678]
mov dword [edx + 0xd8], 0xfffffffe
mov eax, dword [ebp + 0x8328]
test eax, eax
je 0x44cb13
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp + 0x9678]
push eax
call fcn.0049d3a0
push 0x62deb0
mov ecx, ebp
call fcn.004781b0
push 0
call fcn.0057409f
push eax
call fcn.0057417b
add esp, 8
mov dword [0x62dc58], 0
call fcn.00504a60
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebp
call fcn.00590650
mov eax, dword [ebp + 0xa3d4]
test eax, eax
je 0x44cb61
mov dword [esp + 0x84], 2
jmp 0x44cb76
mov eax, dword [ebp + 0xa3e0]
test eax, eax
je 0x44cb76
mov dword [esp + 0x84], 3
mov eax, dword [ebp + 0xa38c]
mov edx, dword [ebp + 0xa3a4]
mov ecx, dword [ebp + 0xa398]
add edx, eax
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0xa3b0]
mov dword [esp + 0xa0], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x9c], ecx
add eax, ecx
push edx
mov ecx, ebp
mov dword [esp + 0xa8], eax
call fcn.00590667
push 0x62dea4
mov ecx, ebp
call fcn.0045aac0
mov eax, dword [ebp + 0x9f2c]
test eax, eax
je 0x44cbe1
mov eax, dword [ebp + 0xa8d0]
test eax, eax
jne 0x44cbe1
mov ecx, ebp
call fcn.0045e850
mov ecx, ebp
mov dword [0x63fd68], esi
call fcn.0044f510
mov ecx, dword [ebp + 0x9fa8]
call fcn.004a8860
mov edx, dword [ebp + 0x9404]
test edx, edx
je 0x44cc57
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
mov ecx, dword [edx + 4]
lea eax, [esp + 0xc8]
push eax
push 0x3c
push ecx
call dword [0x5da220]
mov ecx, dword [ebp + 0x9fa8]
lea edx, [esp + 0xc8]
push 0
push edx
add ecx, 0x40
call fcn.004d4630
mov ecx, dword [ebp + 0x9fac]
lea eax, [esp + 0xc8]
push 0
push eax
add ecx, 0x40
call fcn.004d4630
mov ecx, dword [ebp + 0xa3ec]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x44cd33
push 0x62de98
lea edx, [esp + 0xcc]
push 0x63
push edx
push 0x63f7e8
push 0x62de90
push 0x62de88
call dword [0x5da47c]
lea edi, [esp + 0xc8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x44cce0
lea eax, [esp + 0x14]
push 0xc9a2
push eax
call fcn.004ec350
add esp, 8
mov eax, dword [eax]
push 0
push 0
push eax
mov ecx, ebp
mov dword [esp + 0x140], esi
call fcn.005913a9
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
push esi
call fcn.00574b82
mov ecx, ebp
call fcn.0044b440
mov ecx, dword [ebp + 0xa3ec]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x44cd33
lea edx, [esp + 0x14]
push 0xc9a3
push edx
call fcn.004ec350
add esp, 8
mov eax, dword [eax]
push 1
push 0
push eax
mov ecx, ebp
mov dword [esp + 0x140], 2
call fcn.005913a9
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
mov eax, dword [0x6646a4]
xor esi, esi
cmp eax, esi
jne 0x44cd7c
lea eax, [esp + 0x14]
push 0xca27
push eax
call fcn.004ec350
add esp, 8
mov eax, dword [eax]
push esi
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x140], 3
call fcn.005913a9
or edi, 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], edi
call fcn.005936db
jmp 0x44cd7f
or edi, 0xffffffff
mov ecx, dword [ebp + 0xa648]
cmp ecx, esi
je 0x44cdb3
cmp dword [ebp + 0x9eac], esi
je 0x44cdb3
mov edx, dword [ecx]
push esi
push esi
push esi
push 0x17
call dword [edx + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00593749
mov ecx, dword [ebp + 0x9eac]
call fcn.0050b760
mov ecx, ebp
call fcn.00461c10
call fcn.00504ae0
test eax, eax
je 0x44cdfb
lea eax, [esp + 0x14]
push 0xca28
push eax
call fcn.004ec350
add esp, 8
push eax
mov ecx, 0x6645f4
mov dword [esp + 0x138], 4
call fcn.00593814
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], edi
call fcn.005936db
mov eax, dword [0x639698]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
push 0x625fe8
lea ecx, [esp + 0x30]
mov dword [esp + 0x138], 5
call fcn.00593864
push 0x62de7c
lea ecx, [esp + 0x34]
call fcn.00593864
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push esi
push ecx
push edx
mov ecx, 0x6646a8
call fcn.004ed500
cmp eax, esi
mov dword [esp + 0x28], eax
jle 0x44ce5b
mov ecx, ebp
call fcn.00451e60
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x134], 7
cmp dword [edx - 8], esi
je 0x44ce85
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 8], esi
je 0x44ce85
push eax
push ecx
push edx
mov ecx, 0x6646a8
call fcn.004ed3b0
lea ecx, [esp + 0x30]
mov byte [esp + 0x134], 6
call fcn.005936db
lea ecx, [esp + 0x2c]
mov dword [esp + 0x134], edi
call fcn.005936db
mov eax, dword [0x639698]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
push 0x625fe8
lea ecx, [esp + 0x30]
mov dword [esp + 0x138], 8
call fcn.00593864
push 0x62de6c
lea ecx, [esp + 0x34]
call fcn.00593864
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push esi
push eax
push ecx
mov ecx, 0x6646a8
call fcn.004ed500
cmp eax, esi
mov dword [esp + 0x28], eax
jle 0x44cf06
mov ecx, ebp
call fcn.00459950
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x134], 0xa
cmp dword [edx - 8], esi
je 0x44cf30
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 8], esi
je 0x44cf30
push eax
push ecx
push edx
mov ecx, 0x6646a8
call fcn.004ed3b0
lea ecx, [esp + 0x30]
mov byte [esp + 0x134], 9
call fcn.005936db
lea ecx, [esp + 0x2c]
mov dword [esp + 0x134], edi
call fcn.005936db
mov eax, dword [0x639698]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
push 0x625fe8
lea ecx, [esp + 0x30]
mov dword [esp + 0x138], 0xb
call fcn.00593864
push 0x62de60
lea ecx, [esp + 0x34]
call fcn.00593864
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push esi
push edx
push eax
mov ecx, 0x6646a8
call fcn.004ed500
cmp eax, esi
mov dword [esp + 0x28], eax
jle 0x44cfb1
mov ecx, ebp
call fcn.00451da0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x134], 0xd
cmp dword [edx - 8], esi
je 0x44cfdb
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 8], esi
je 0x44cfdb
push eax
push ecx
push edx
mov ecx, 0x6646a8
call fcn.004ed3b0
lea ecx, [esp + 0x30]
mov byte [esp + 0x134], 0xc
call fcn.005936db
lea ecx, [esp + 0x2c]
mov dword [esp + 0x134], edi
call fcn.005936db
cmp dword [ebp + 0xa1e8], esi
je 0x44d063
lea ecx, [esp + 0x4c]
push 0xcd75
push ecx
call fcn.004ec350
add esp, 8
push eax
lea edx, [esp + 0x18]
push 0x664810
push edx
mov dword [esp + 0x140], 0xe
call fcn.0059390a
mov eax, dword [eax]
push 1
push esi
push esi
push eax
push 0x62de58
push esi
call dword [0x5da59c]
lea ecx, [esp + 0x14]
call fcn.005936db
lea ecx, [esp + 0x4c]
mov dword [esp + 0x134], edi
call fcn.005936db
mov dword [ebp + 0xa1e8], esi
mov ecx, 0x664750
call fcn.004f7a70
mov eax, dword [0x63fd6c]
test eax, eax
je 0x44d07c
dec eax
mov dword [0x63fd6c], eax
mov eax, dword [ebp + 0x1c]
push eax
call dword [0x5da830]
test eax, eax
je 0x44d0ff
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebp
call fcn.00590650
mov eax, dword [esp + 0x84]
xor ecx, ecx
cmp eax, 2
sete cl
xor edx, edx
cmp eax, 3
sete dl
mov eax, edx
mov dword [ebp + 0xa3d4], ecx
mov ecx, dword [esp + 0x9c]
mov dword [ebp + 0xa3e0], eax
mov eax, dword [esp + 0x98]
mov dword [ebp + 0xa38c], eax
mov eax, dword [esp + 0xa0]
mov dword [ebp + 0xa398], ecx
mov ecx, dword [ebp + 0xa38c]
sub eax, ecx
mov dword [ebp + 0xa3a4], eax
mov ecx, dword [ebp + 0xa398]
mov eax, dword [esp + 0xa4]
sub eax, ecx
mov dword [ebp + 0xa3b0], eax
mov eax, dword [ebp + 0x9fb0]
mov ecx, ebp
mov eax, dword [eax + 0x6168]
mov dword [ebp + 0x94b4], eax
lea eax, [ebp + 0x9ebc]
push eax
call fcn.004551d0
mov edx, dword [ebp + 0x9f1c]
inc edx
mov dword [ebp + 0x9f1c], edx
mov eax, dword [ebp + 0x8328]
test eax, eax
je 0x44d14e
mov ecx, dword [ebp + 0x83a8]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x8328]
mov eax, dword [ebp + 0x83b4]
mov dword [edx + 0x3c], eax
mov eax, dword [0x63fd40]
test eax, eax
je 0x44d15d
dec eax
mov dword [0x63fd40], eax
mov eax, dword [ebp + 0x9388]
test eax, eax
je 0x44d16e
dec eax
mov dword [ebp + 0x9388], eax
mov ecx, dword [ebp + 0xa648]
xor ebx, ebx
xor edi, edi
cmp ecx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x14], 0xf
je 0x44d1cb
mov eax, dword [ecx]
push edi
push edi
push edi
push 0x37
call dword [eax + 4]
mov ecx, ebp
mov esi, eax
call fcn.004550c0
mov ecx, ebp
mov dword [esp + 0x4c], eax
call fcn.00455120
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00455080
mov ecx, ebp
mov edi, eax
call fcn.004554c0
mov ecx, ebp
mov ebx, eax
call fcn.00455100
mov dword [ebp + 0x93bc], eax
jmp 0x44d1cf
mov esi, dword [esp + 0x20]
mov ecx, dword [0x62dc70]
cmp esi, ecx
je 0x44d1f8
mov dword [ebp + 0x93b0], esi
mov dword [0x62dc70], esi
mov ecx, dword [ebp + 0x93ac]
test ecx, ecx
je 0x44d21d
push 0
call fcn.00592020
jmp 0x44d21d
mov eax, dword [ebp + 0x93b0]
cmp eax, ecx
je 0x44d21d
mov dword [0x62dc70], eax
mov ecx, dword [ebp + 0xa648]
test ecx, ecx
je 0x44d21d
mov edx, dword [ecx]
push 0
push 0
push eax
push 0x36
call dword [edx + 4]
mov ecx, dword [0x62dc68]
cmp edi, ecx
je 0x44d246
mov dword [ebp + 0x93c0], edi
mov dword [0x62dc68], edi
mov ecx, dword [ebp + 0x93ac]
test ecx, ecx
je 0x44d25d
push 0
call fcn.00592020
jmp 0x44d25d
mov eax, dword [ebp + 0x93c0]
cmp eax, ecx
je 0x44d25d
push eax
mov ecx, ebp
mov dword [0x62dc68], eax
call fcn.004550a0
mov ecx, dword [0x62dc6c]
cmp ebx, ecx
je 0x44d286
mov dword [ebp + 0x93c4], ebx
mov dword [0x62dc6c], ebx
mov ecx, dword [ebp + 0x93ac]
test ecx, ecx
je 0x44d29d
push 0
call fcn.00592020
jmp 0x44d29d
mov eax, dword [ebp + 0x93c4]
cmp eax, ecx
je 0x44d29d
push eax
mov ecx, ebp
mov dword [0x62dc6c], eax
call fcn.004554a0
mov ecx, dword [0x62dc64]
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x44d2c9
mov dword [ebp + 0x93b8], eax
mov dword [0x62dc64], eax
mov ecx, dword [ebp + 0x93ac]
test ecx, ecx
je 0x44d2e0
push 0
call fcn.00592020
jmp 0x44d2e0
mov eax, dword [ebp + 0x93b8]
cmp eax, ecx
je 0x44d2e0
push eax
mov ecx, ebp
mov dword [0x62dc64], eax
call fcn.00455140
mov ecx, dword [0x62dc60]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
je 0x44d30c
mov dword [ebp + 0x93b4], eax
mov dword [0x62dc60], eax
mov ecx, dword [ebp + 0x93ac]
test ecx, ecx
je 0x44d323
push 0
call fcn.00592020
jmp 0x44d323
mov eax, dword [ebp + 0x93b4]
cmp eax, ecx
je 0x44d323
push eax
mov ecx, ebp
mov dword [0x62dc60], eax
call fcn.004550e0
mov eax, dword [ebp + 0xa600]
test eax, eax
je 0x44d334
dec eax
mov dword [ebp + 0xa600], eax
mov eax, dword [ebp + 0xa634]
mov ecx, 2
cmp eax, ecx
jne 0x44d373
cmp dword [ebp + 0xa604], 1
jne 0x44d373
mov eax, dword [ebp + 0xa638]
test eax, eax
je 0x44d35d
dec eax
mov dword [ebp + 0xa638], eax
mov eax, dword [ebp + 0xa638]
test eax, eax
jne 0x44d373
mov ecx, ebp
call fcn.0044f860
mov ecx, 2
mov eax, dword [ebp + 0xa600]
test eax, eax
jne 0x44d3c0
cmp dword [ebp + 0xa634], ecx
jne 0x44d3c0
cmp dword [ebp + 0xa604], ecx
jne 0x44d3c0
mov ecx, dword [ebp + 0xa648]
test ecx, ecx
je 0x44d3c0
mov eax, dword [ecx]
push 0
push 0
push 0
push 0x52
call dword [eax + 4]
test eax, eax
jne 0x44d3c0
mov ecx, dword [ebp + 0xa648]
push eax
push eax
push 1
mov edx, dword [ecx]
push 0x53
call dword [edx + 4]
mov ecx, ebp
call fcn.0044f860
mov eax, dword [ebp + 0x9e84]
lea esi, [ebp + 0x8f40]
test eax, eax
jne 0x44d3fa
mov ecx, dword [ebp + 0xa648]
test ecx, ecx
je 0x44d3e9
mov eax, dword [ecx]
push 0
push 0
push 0
push 0x17
call dword [eax + 4]
jmp 0x44d3ee
mov eax, 0x63f7e8
push eax
lea ecx, [ebp + 0x8f9c]
call fcn.00593864
mov eax, dword [ebp + 0xa5bc]
cmp eax, 0xffffffff
je 0x44d418
lea ecx, [ebp + eax*4 + 0xa47c]
push ecx
lea ecx, [ebp + 0x8f9c]
call fcn.00593814
mov ecx, ebp
call fcn.00453190
mov eax, dword [ebp + 0x9e84]
fstp qword [esp + 0x28]
test eax, eax
jne 0x44d67a
mov eax, dword [ebp + 0x9f5c]
test eax, eax
je 0x44d67a
mov eax, dword [ebp + 0x93a0]
test eax, eax
jne 0x44d67a
fld qword [0x63ff98]
fcomp qword [0x5daf40]
fnstsw ax
test ah, 0x41
jne 0x44d67a
fld qword [0x63ff98]
fsub qword [esp + 0x28]
fabs
fcomp qword [0x5db238]
fnstsw ax
test ah, 0x41
jne 0x44d67a
mov ecx, dword [ebp + 0x9c58]
mov eax, dword [ecx + 0x184]
test eax, eax
je 0x44d5e5
mov edx, dword [ecx]
mov edi, dword [ecx + 0x140]
mov ebx, dword [ecx + 0x144]
push 5
call dword [edx + 0x104]
cmp edi, 4
jne 0x44d5e5
cmp ebx, eax
jne 0x44d5e5
mov eax, dword [0x639698]
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x9c58]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x138], 0xf
mov ecx, dword [edx + 0x184]
call fcn.00590598
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x44d5d1
lea ecx, [esp + 0x10]
call fcn.00593bfd
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebp + 0x8f44]
call fcn.00593814
fld qword [0x63ff98]
call fcn.00573170
mov dword [ebp + 0x8f94], eax
mov dword [ebp + 0x8f90], eax
fld qword [0x63ff98]
fadd qword [0x5daf38]
lea edx, [esp + 0x14]
push edx
call fcn.00573170
push eax
call fcn.004ca220
mov edi, eax
mov eax, dword [ebp + 0x8f9c]
push eax
call fcn.004c91e0
push eax
call fcn.004c91f0
add esp, 0x10
mov ecx, dword [ebp + 0x8fc4]
mov dword [esp + 0x14], eax
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x28]
push edi
push ecx
push eax
mov ecx, ebp
call fcn.0048bea0
test eax, eax
jne 0x44d58b
mov dword [ebp + 0x8fd8], 8
jmp 0x44d5a1
cmp eax, 1
jle 0x44d5a1
cmp eax, 0x10000
je 0x44d5a1
mov dword [ebp + 0x8fd8], 0x10
mov edx, dword [esi + 0x98]
push esi
or edx, 2
mov ecx, 0x664488
mov dword [esi + 0x98], edx
call fcn.004cb0d0
mov ecx, dword [ebp + 0x9c58]
push 0x63f7e8
mov ecx, dword [ecx + 0x184]
call fcn.00592c97
lea ecx, [esp + 0x10]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
lea edi, [ebp + 0x8fe0]
push esi
mov ecx, edi
call fcn.005002b0
fld qword [0x63ff98]
call fcn.00573170
mov dword [ebp + 0x9034], eax
mov dword [ebp + 0x9030], eax
mov dword [0x63ff98], 0
mov dword [0x63ff9c], 0
mov ebx, dword [edi + 0x98]
mov ecx, esi
and ebx, 0xfffffffd
mov dword [edi + 0x98], ebx
call fcn.00500450
mov edx, dword [esi + 0x98]
mov ecx, ebp
or edx, 2
mov dword [esi + 0x98], edx
call fcn.0048bb70
lea edi, [ebp + 0x9b94]
mov ecx, edi
call fcn.00592c01
test eax, 0x10000000
je 0x44d665
mov ecx, edi
call fcn.00492200
mov ecx, ebp
call fcn.0048a420
mov ecx, ebp
call fcn.00461bd0
mov ecx, ebp
call fcn.0044a320
mov eax, dword [ebp + 0x9e84]
test eax, eax
jne 0x44d6e7
mov ecx, ebp
call fcn.00453100
fadd qword [0x5daf38]
call fcn.00573170
mov ecx, ebp
mov dword [ebp + 0x8f90], eax
call fcn.00453190
fadd qword [0x5daf38]
call fcn.00573170
lea edx, [esp + 0x14]
mov ecx, ebp
push edx
mov dword [ebp + 0x8f94], eax
call fcn.00461b20
push eax
mov ecx, esi
mov dword [esp + 0x138], 0x10
call fcn.00593814
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
mov eax, dword [ebp + 0xa640]
mov ecx, dword [0x62dc74]
mov eax, dword [eax + 0xa4]
cmp ecx, eax
je 0x44d71e
lea ecx, [ebp + 0x9b94]
mov dword [0x62dc74], eax
call fcn.004921d0
mov ecx, dword [ebp + 0x9bb0]
push 1
push 0
push ecx
call dword [0x5da8dc]
lea ecx, [ebp + 0x9b94]
call fcn.00592c01
test eax, 0x10000000
je 0x44d767
mov eax, dword [ebp + 0x9c58]
mov ecx, dword [eax + 0x140]
mov edx, dword [eax + 0x144]
mov eax, ecx
mov dword [esp + 0x2c], edx
dec eax
je 0x44d761
dec eax
je 0x44d759
dec eax
jne 0x44d767
lea esi, [ebp + 0x9120]
jmp 0x44d767
lea esi, [ebp + 0x91c0]
jmp 0x44d767
lea esi, [ebp + 0x9260]
mov eax, dword [ebp + 0x8f44]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x44d77f
lea ecx, [ebp + 0x9fa4]
call fcn.00593666
mov eax, dword [ebp + 0xa428]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x18
call fcn.005164c0
mov eax, dword [ebp + 0xa3f8]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x30
call fcn.005164c0
push 0x6236fc
push 5
call fcn.00573347
push 0x6236fc
push 4
call fcn.00573347
mov ecx, dword [0x639698]
mov dword [esp + 0x28], ecx
fld qword [ebp + 0xa9a8]
fmul qword [0x5db088]
add esp, 8
lea edx, [esp + 0x20]
mov dword [esp + 0x13c], 0x11
fstp qword [esp]
push 0x62de50
push edx
call fcn.0058aded
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x360
push eax
call fcn.005164c0
lea ecx, [esp + 0x18]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
test esi, esi
je 0x44e181
mov eax, dword [0x7194a8]
test eax, eax
jne 0x44e181
mov eax, dword [esi]
mov ecx, dword [ebp + 0x154]
push eax
call fcn.005164c0
mov eax, dword [esi + 4]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x180
call fcn.005164c0
test byte [esi + 0x98], 1
mov eax, 0x62de4c
jne 0x44d86f
mov eax, 0x62de48
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x270
call fcn.005164c0
mov ecx, dword [0x639698]
mov dword [esp + 0x14], ecx
mov edx, dword [esi + 0x54]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 0x82b0]
fild qword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x13c], 0x12
fmul qword [0x5db088]
fstp qword [esp]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0058aded
mov ecx, dword [esp + 0x24]
add esp, 0x10
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x138
call fcn.005164c0
mov edx, dword [0x639698]
mov dword [esp + 0x4c], edx
mov eax, dword [esi + 0x54]
push 0
push eax
mov byte [esp + 0x13c], 0x13
call fcn.004ca220
add esp, 8
test eax, eax
jl 0x44d91b
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [0x664464]
lea ecx, [eax + edx*4]
push ecx
lea ecx, [esp + 0x50]
call fcn.00593814
mov edx, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x150
call fcn.005164c0
mov eax, dword [0x639698]
mov dword [esp + 0x50], eax
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 0x82a4]
fild qword [esp + 0x20]
sub esp, 8
lea edx, [esp + 0x58]
mov byte [esp + 0x13c], 0x14
fmul qword [0x5db040]
fstp qword [esp]
push eax
push edx
call fcn.0058aded
mov eax, dword [esp + 0x60]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x120
push eax
call fcn.005164c0
mov eax, dword [esi + 0x5c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x168
call fcn.005164c0
mov eax, dword [esi + 0x70]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x198
call fcn.005164c0
mov eax, dword [esi + 0x78]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x240
call fcn.005164c0
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x258
call fcn.005164c0
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1b0
call fcn.005164c0
mov eax, dword [esi + 0x84]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1c8
call fcn.005164c0
mov eax, dword [esi + 0x64]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1f8
call fcn.005164c0
mov eax, dword [esi + 0x60]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x1e0
call fcn.005164c0
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x228
call fcn.005164c0
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x210
call fcn.005164c0
lea ecx, [esp + 0x10]
push 0x62de40
lea edi, [esi + 8]
push ecx
mov ecx, edi
call fcn.0056b622
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0xf0
mov byte [esp + 0x138], 0x15
call fcn.005164c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 0x14
call fcn.005936db
lea ebx, [esi + 0x14]
lea edx, [esp + 0x10]
push 0x62de40
push edx
mov ecx, ebx
call fcn.0056b622
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x108
mov byte [esp + 0x138], 0x16
call fcn.005164c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 0x14
call fcn.005936db
lea eax, [esp + 0x10]
push 0x62de34
push eax
mov ecx, edi
call fcn.0056b622
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0xc0
mov byte [esp + 0x138], 0x17
call fcn.005164c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 0x14
call fcn.005936db
lea ecx, [esp + 0x10]
push 0x62de34
push ecx
mov ecx, ebx
call fcn.0056b622
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0xd8
mov byte [esp + 0x138], 0x18
call fcn.005164c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 0x14
call fcn.005936db
mov eax, dword [esi + 0x8c]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x300
call fcn.005164c0
mov eax, dword [esi + 0x88]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x318
call fcn.005164c0
mov eax, dword [esi + 0x80]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x330
call fcn.005164c0
mov eax, dword [0x639698]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], eax
mov cl, byte [0x63fccc]
mov byte [esp + 0x134], 0x1c
test cl, 1
jne 0x44dbf0
mov dl, cl
push 0x44e8f0
or dl, 1
mov dword [0x63fcc8], eax
mov byte [0x63fccc], dl
call fcn.005732b4
mov eax, dword [0x639698]
add esp, 4
mov cl, byte [0x63fccc]
test cl, 2
jne 0x44dc18
mov dl, cl
push 0x44e8e0
or dl, 2
mov dword [0x63fcc4], eax
mov byte [0x63fccc], dl
call fcn.005732b4
add esp, 4
mov edx, dword [esi + 0x58]
lea eax, [esi + 0x58]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x44dc28
lea eax, [esi + 4]
mov ebx, dword [eax]
mov eax, dword [0x63fcc8]
push ebx
push eax
call fcn.00573b74
add esp, 8
test eax, eax
jne 0x44dc5b
mov eax, dword [esi + 0x90]
mov ecx, dword [0x63fcc4]
push eax
push ecx
call fcn.00573b74
add esp, 8
test eax, eax
je 0x44e107
push ebx
mov ecx, 0x63fcc8
call fcn.00593864
add esi, 0x90
mov ecx, 0x63fcc4
push esi
call fcn.00593814
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x44e015
push eax
push eax
push eax
lea edx, [esp + 0x24]
lea eax, [esp + 0x54]
push edx
lea ecx, [esp + 0x64]
push eax
push ecx
push 0
push 0
lea edx, [esp + 0x48]
push 0
lea eax, [esp + 0x98]
push edx
lea ecx, [esp + 0x8c]
push eax
lea edx, [esp + 0x88]
push ecx
push edx
lea eax, [esp + 0xa4]
push 0
lea ecx, [esp + 0xa4]
push eax
push ecx
mov ecx, dword [ebp + 0xa63c]
push 0
lea edx, [esp + 0x9c]
push 0
push edx
push ebx
call fcn.004e3a00
test eax, eax
jl 0x44e015
mov eax, dword [esp + 0x58]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x3a8
call fcn.005164c0
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x3f0
call fcn.005164c0
mov edx, dword [esp + 0x48]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x408
call fcn.005164c0
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x420
call fcn.005164c0
mov ecx, dword [0x639698]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x10]
push edx
push 0x625a90
push eax
mov byte [esp + 0x140], 0x1d
call fcn.0058aded
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x3c0
call fcn.005164c0
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x10]
push edx
push 0x625a90
push eax
call fcn.0058aded
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x3d8
call fcn.005164c0
mov edx, dword [esi]
mov eax, dword [edx - 8]
test eax, eax
jne 0x44de1c
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.004ec080
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0x1e
call fcn.00593814
lea ecx, [esp + 0x20]
mov byte [esp + 0x134], 0x1d
call fcn.005936db
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x154]
push edx
add ecx, 0x2e8
call fcn.005164c0
jmp 0x44df37
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push esi
call fcn.00593450
lea eax, [esp + 0x24]
push eax
call fcn.0044e840
add esp, 8
mov eax, dword [eax]
mov ecx, dword [ebp + 0x154]
push eax
add ecx, 0x2e8
mov byte [esp + 0x138], 0x1f
call fcn.005164c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x134], 0x1d
call fcn.005936db
fld qword [ebp + 0x8548]
fld qword [ebp + 0x8560]
mov esi, 0x5e1b90
mov byte [esp + 0x94], 0
fstp qword [esp + 0x84]
mov dword [esp + 0x7c], esi
fstp qword [esp + 0x8c]
push ecx
lea edx, [ebp + 0x8fd0]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x13c], 0x20
call fcn.00593450
lea eax, [esp + 0x24]
push eax
call fcn.0044e840
add esp, 8
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0x138], 0x22
mov dword [esp + 0xac], esi
call fcn.00514380
lea ecx, [esp + 0x20]
mov byte [esp + 0x134], 0x24
call fcn.005936db
lea ecx, [esp + 0x74]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0xac]
push edx
push eax
lea ecx, [esp + 0x88]
call fcn.005146b0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov byte [esp + 0x134], 0x1d
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push edx
push eax
lea ecx, [esp + 0x18]
push 0x62de2c
push ecx
call fcn.0058aded
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x288
push edx
call fcn.005164c0
fld qword [esp + 0x28]
call fcn.00573170
push eax
lea eax, [esp + 0x14]
push 0x625a90
push eax
call fcn.0058aded
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov ecx, dword [ebp + 0x154]
add ecx, 0x2a0
call fcn.005164c0
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
push edx
push eax
lea ecx, [esp + 0x18]
push 0x62de14
push ecx
call fcn.0058aded
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x2b8
push edx
call fcn.005164c0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x62de14
push edx
call fcn.0058aded
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x154]
add esp, 0x10
add ecx, 0x2d0
push eax
call fcn.005164c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 0x1c
call fcn.005936db
jmp 0x44e107
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x3a8
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x3f0
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x408
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x420
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x3c0
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x3d8
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x288
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x2a0
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x2b8
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x2d0
call fcn.005164c0
mov ecx, dword [ebp + 0x154]
push 0x63f7e8
add ecx, 0x2e8
call fcn.005164c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0x1b
call fcn.005936db
lea ecx, [esp + 0x48]
mov byte [esp + 0x134], 0x1a
call fcn.005936db
lea ecx, [esp + 0x54]
mov byte [esp + 0x134], 0x19
call fcn.005936db
lea ecx, [esp + 0x58]
mov byte [esp + 0x134], 0x14
call fcn.005936db
lea ecx, [esp + 0x50]
mov byte [esp + 0x134], 0x13
call fcn.005936db
lea ecx, [esp + 0x4c]
mov byte [esp + 0x134], 0x12
call fcn.005936db
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], 0xffffffff
call fcn.005936db
push 0x63f7e8
push 5
call fcn.00573347
push 0x63f7e8
push 4
call fcn.00573347
mov ecx, dword [ebp + 0x154]
add esp, 0x10
push 0xff
call fcn.00515f80
mov ecx, ebp
call fcn.0048bd70
lea ecx, [ebp + 0x9b94]
call fcn.00492100
mov edx, dword [ebp + 0x94c0]
lea ecx, [ebp + 0x94c0]
push 0
push ebp
call dword [edx + 0xc0]
mov ecx, ebp
call fcn.00490100
mov ecx, ebp
call fcn.00455080
test eax, eax
je 0x44e1f6
mov eax, dword [ebp + 0x93a0]
test eax, eax
jne 0x44e1f6
mov ecx, ebp
call fcn.0054d8c0
mov eax, dword [ebp + 0xa5c4]
test eax, eax
je 0x44e207
mov ecx, ebp
call fcn.0046baa0
mov eax, dword [ebp + 0x84e0]
test eax, eax
je 0x44e218
mov ecx, ebp
call fcn.00450670
mov eax, dword [ebp + 0x93a0]
test eax, eax
jne 0x44e2c0
mov eax, dword [ebp + 0x84f0]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x84e8]
shl ecx, 3
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 2
cmp edx, ecx
jge 0x44e274
mov ecx, ebp
call fcn.00455180
test eax, eax
je 0x44e26e
mov eax, dword [ebp + 0x84fc]
test eax, eax
je 0x44e26e
mov ecx, ebp
call fcn.00455460
test eax, eax
jne 0x44e274
inc dword [ebp + 0x84e8]
mov eax, dword [ebp + 0x84ec]
test eax, eax
je 0x44e2ca
mov eax, dword [ebp + 0x84f0]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x84e8]
shl ecx, 3
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 2
cmp edx, ecx
jl 0x44e2ad
mov ecx, ebp
call fcn.00451bf0
mov eax, dword [ebp + 0x84ec]
test eax, eax
je 0x44e2ca
mov ecx, ebp
call fcn.00450670
jmp 0x44e2ca
mov dword [ebp + 0x84e8], 0
mov eax, dword [0x63fd80]
mov ecx, eax
and cl, 4
inc eax
test cl, cl
mov dword [0x63fd80], eax
jne 0x44e493
mov eax, dword [ebp + 0xa644]
test eax, eax
je 0x44e493
mov edi, dword [eax + 8]
dec edi
test edi, edi
mov dword [esp + 0x48], edi
jl 0x44e493
lea ecx, [edi + 1]
lea ebx, [edi*8]
sub ebx, edi
lea eax, [ecx*8]
sub eax, ecx
shl ebx, 3
shl eax, 3
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xa644]
mov esi, dword [edx + 4]
add esi, ebx
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x44e474
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x44e474
lea eax, [esp + 0x28]
push eax
call fcn.004ebac0
add esp, 4
lea ecx, [esi + 8]
push eax
call fcn.0056b25d
test eax, eax
je 0x44e474
mov al, byte [esp + 0x1c]
mov dword [esp + 0x134], 0xffffffff
test al, 1
je 0x44e388
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x70]
and al, 0xfe
mov dword [esp + 0x1c], eax
call fcn.005936db
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
test al, 1
mov dword [esp + 0x20], eax
je 0x44e3a8
mov esi, dword [esi + 0x18]
push 0
push esi
mov ecx, ebp
call fcn.00478270
mov eax, dword [esp + 0x20]
test al, 2
je 0x44e444
mov ebx, dword [ebp + 0xa644]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 4]
sub edi, edx
dec edi
add esi, eax
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 4]
mov eax, dword [esp + 0x14]
add esi, 0x38
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x44e3d1
test edi, edi
je 0x44e417
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
lea edx, [edi*8]
sub edx, edi
shl edx, 3
push edx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x14]
push edx
add eax, ecx
push eax
call fcn.00574820
add esp, 0xc
mov edi, dword [ebx + 8]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, 0x38
dec edi
dec esi
sub edx, eax
sub ecx, eax
mov dword [ebx + 8], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov edi, esi
mov ebx, edx
mov al, byte [esp + 0x1c]
mov dword [0x7193e4], 1
test al, 2
mov dword [esp + 0x134], 0xffffffff
je 0x44e474
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x6c]
and al, 0xfd
mov dword [esp + 0x1c], eax
call fcn.005936db
mov ecx, dword [esp + 0x18]
dec edi
sub ebx, 0x38
sub ecx, 0x38
test edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ecx
jge 0x44e323
cmp dword [ebp + 0x83cc], 1
jne 0x44e4a3
mov ecx, ebp
call fcn.0045af90
mov eax, dword [0x6dbe5c]
dec eax
je 0x44e4d1
dec eax
jne 0x44e4ee
mov ecx, dword [ebp + 0x8340]
test ecx, ecx
je 0x44e4ee
fld qword [ebp + 0x8348]
fadd qword [0x5e1b88]
mov edx, dword [ecx]
sub esp, 8
fstp qword [esp]
call dword [edx + 8]
jmp 0x44e4ee
mov ecx, dword [ebp + 0x8340]
test ecx, ecx
je 0x44e4ee
mov edx, dword [ebp + 0x834c]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp + 0x8348]
push edx
call dword [eax + 8]
mov dword [0x6dbe5c], 0
mov ecx, dword [ebp + 0x8340]
test ecx, ecx
je 0x44e518
mov eax, dword [ecx]
push 3
call dword [eax + 0x18]
test eax, eax
je 0x44e518
mov ecx, dword [ebp + 0x9ea8]
call fcn.00514240
mov al, byte [0x63fd84]
inc al
mov byte [0x63fd84], al
jne 0x44e530
mov ecx, 0x664488
call fcn.004cbf30
mov ecx, ebp
call fcn.00455df0
xor ecx, ecx
cmp eax, 2
sete cl
mov edi, ecx
mov ecx, dword [ebp + 0xa648]
test ecx, ecx
je 0x44e586
mov edx, dword [ecx]
push 0
push 0
push edi
push 0x6c
call dword [edx + 4]
mov ecx, ebp
call fcn.00453100
fcomp qword [0x5e1b80]
fnstsw ax
test ah, 1
je 0x44e572
mov eax, 1
jmp 0x44e574
xor eax, eax
mov ecx, dword [ebp + 0xa648]
push 0
push 0
push eax
mov edx, dword [ecx]
push 0x6d
call dword [edx + 4]
lea esi, [ebp + 0xa654]
mov ebx, 0x27
mov ecx, dword [esi]
test ecx, ecx
je 0x44e5a3
mov eax, dword [ecx]
push 0
push 0
push edi
push 0x6c
call dword [eax + 4]
add esi, 4
dec ebx
jne 0x44e591
mov ecx, dword [ebp + 0xa648]
xor edi, edi
cmp ecx, edi
mov ebx, 0x70
je 0x44e5cf
mov edx, dword [ecx]
push edi
push edi
push edi
push ebx
call dword [edx + 4]
mov ecx, dword [ebp + 0x9fa8]
push eax
call fcn.004a8890
mov ecx, ebp
call fcn.0045f4b0
mov eax, dword [ebp + 0xa974]
cmp eax, edi
je 0x44e5e7
dec eax
mov dword [ebp + 0xa974], eax
cmp dword [0x6344a0], edi
je 0x44e632
cmp dword [0x6646e4], edi
jne 0x44e632
call fcn.00574188
cdq
mov ecx, 0x3b5
idiv ecx
test edx, edx
jne 0x44e632
lea edx, [esp + 0x28]
push 0x7193c8
push edx
call fcn.0056af0d
mov ecx, eax
call fcn.0056b227
test eax, eax
je 0x44e632
mov dword [0x6646e4], 1
mov dword [0x6646a4], edi
mov ecx, ebp
call fcn.0058fb50
mov ecx, dword [ebp + 0x9ec4]
mov edx, dword [ebp + 0x9ec0]
lea eax, [ebp + 0x9ebc]
cmp ecx, edx
je 0x44e657
push eax
mov ecx, ebp
call fcn.004551d0
cmp dword [ebp + 0xa34c], edi
je 0x44e7a1
mov ecx, dword [ebp + 0xa64c]
mov eax, dword [ecx + 0x30e7c]
cmp eax, 1
je 0x44e67d
cmp eax, 2
jne 0x44e7a1
cmp dword [ecx + 0xf8], edi
jne 0x44e7a1
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], 0
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2f], 0x20
mov byte [esp + 0x30], 2
mov byte [esp + 0x31], 0xc
mov byte [esp + 0x32], 0xc
mov byte [esp + 0x33], bl
mov byte [esp + 0x34], 0
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 0
mov byte [esp + 0x37], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0
mov byte [esp + 0x3a], 0x20
mov byte [esp + 0x3b], 0x1c
mov byte [esp + 0x3c], 0
mov byte [esp + 0x3d], 0
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], 0
mov byte [esp + 0x40], 0
mov byte [esp + 0x41], 0
mov byte [esp + 0x42], 0
mov byte [esp + 0x43], 0
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x7e4d4]
mov eax, 0xff
sub eax, edx
mov esi, eax
shl esi, 5
sub esi, eax
mov eax, 0x80808081
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [esp + 0x32], dl
mov byte [esp + 0x31], dl
mov eax, dword [ecx + 0x7e4d8]
lea eax, [eax + eax*2]
lea esi, [eax + eax*4]
mov eax, 0x80808081
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3c], dl
mov eax, dword [ecx + 0x30e7c]
cmp eax, 1
jne 0x44e789
lea ecx, [esp + 0x28]
push 0x1d
push ecx
call fcn.0050e2a0
add esp, 8
jmp 0x44e79b
cmp eax, 2
jne 0x44e79b
push edi
lea edx, [esp + 0x2c]
push 0x1d
push edx
call fcn.004b94e0
mov dword [ebp + 0xa34c], edi
mov dword [0x63fd7c], edi
mov eax, dword [ebp + 0x87f8]
cmp eax, edi
je 0x44e81c
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0xc8]
mov dword [ebp + 0x87f8], edi
mov edx, dword [ebp + 0x85b0]
lea ecx, [esp + 0xa8]
push ecx
push edx
call dword [0x5da8d8]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
sub eax, ecx
mov ecx, dword [esp + 0xb0]
push eax
sub ecx, esi
push ecx
mov ecx, ebp
call fcn.0044a380
cmp dword [0x6646f4], edi
je 0x44e81c
mov edx, dword [ebp + 0x871c]
lea ecx, [ebp + 0x871c]
call dword [edx + 0xbc]
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x128
ret 4