Function at 0x50ba1d
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x6c
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1b
rep stosd dword es:[edi], eax
add ebx, 0x68
push ebx
push 0x88
call fcn.00517f8b
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x62f8d7
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 8
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x62e846
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
push 8
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x62e846
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [0x12a1164]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x50f2cc
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x50f2c9
cmp dword [ebp - 4], 1
jne 0x50bb5a
mov eax, 0x62f8b8
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50bb51
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50bbb1
cmp dword [ebp - 4], 2
jne 0x50bb83
mov eax, 0x62f8c2
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50bb7a
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50bbb1
cmp dword [ebp - 4], 3
jne 0x50bbac
mov eax, 0x62f8cd
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50bba3
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50bbb1
jmp 0x50f2cc
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.0050f417
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.0050f435
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50bbff
push ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50bc0f
push ebx
call fcn.00517f85
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50bc23
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0050f554
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x62e844
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50bc5a
push ebx
call fcn.00517f85
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xe1
call fcn.00517f9d
cmp dword [ebp - 0x44], esp
je 0x50bc8e
push 0x267
push 0x40ac4bc
push 6
call fcn.00517f91
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50bc9e
push ebx
call fcn.00517f85
add esp, 4
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50bcb1
mov eax, 0x62e84e
push eax
push 1
mov ebx, 0x51b380
call fcn.00517f97
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x50bcdb
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0050f605
mov dword [ebp - 0x1c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50bcfe
mov eax, 0x62e84e
push eax
push 1
mov ebx, 0x51b2d0
call fcn.00517f97
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0050f629
test eax, eax
je 0x50bd47
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x50bd47
mov eax, 1
jmp 0x50bd4c
mov eax, 0
test eax, eax
je 0x50f2c2
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x20]
add ebx, 0x3c
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 0x2000
push 0x1000
call fcn.0050fa30
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esp
push 0x40
push dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push 0
push 0xffffffff
mov eax, 0xe2
call fcn.00517f9d
cmp dword [ebp - 0x54], esp
je 0x50bde6
push 0x433
push 0x40ac4bc
push 6
call fcn.00517f91
add esp, 0xc
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x40
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
call fcn.0050fa53
push 8
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x62e846
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.005110b1
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00517f85
add esp, 4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x50bfb3
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50be8b
push 0x51a
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50bea8
push 0x51a
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x24]
call fcn.0050fa16
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50bef8
push 0x54b
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50bf15
push 0x54b
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push dword [ebx]
push dword [ebp - 0x1c]
call fcn.0050fa16
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50bf65
push 0x54b
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50bf82
push 0x54b
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push dword [ebx]
push dword [ebp - 0x50]
push dword [ebp - 0x44]
call fcn.0050fa53
pop eax
pop ebx
pop ecx
jmp 0x50be56
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00511e39
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50bfe1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50bfdd
imul eax, dword [ebx]
jmp 0x50bfd2
mov ecx, eax
test ecx, ecx
je 0x50c009
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00517f85
add esp, 4
pop ebx
call fcn.00517f85
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50bfe7
call fcn.00517f85
add esp, 4
mov eax, 0x62e846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.00512888
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x50f284
cmp dword [ebp - 4], 1
jne 0x50c180
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50c06d
push 0x6bb
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50c08a
push 0x6bb
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 1
push 0x80000004
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x50c0b8
mov eax, 0x62e84e
push eax
push 2
mov ebx, 0x518bb0
call fcn.00517f97
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x50c16e
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50c0ff
push 0x70a
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50c11c
push 0x70a
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000004
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x50c14a
mov eax, 0x62e84e
push eax
push 2
mov ebx, 0x518bb0
call fcn.00517f97
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x50c16e
xor eax, eax
jmp 0x50c173
mov eax, 1
test eax, eax
je 0x50c180
jmp 0x50f27c
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50c1a7
push 0x7b6
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50c1c4
push 0x7b6
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
push 8
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x62e846
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x40]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
call fcn.0051334d
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.00517f85
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x50c25e
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50c246
push 0x7f0
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x50c25e
mov eax, 1
jmp 0x50c263
mov eax, 0
test eax, eax
je 0x50f27c
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50c29b
push 0x81b
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50c2b8
push 0x81b
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebx]
test eax, eax
je 0x50c2e3
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x50c2f6
push ebx
call fcn.00517f85
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50c342
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50c376
and eax, 0xff
jmp 0x50c3cb
cmp ecx, 0x80000201
jne 0x50c381
cwde
jmp 0x50c3cb
cmp ecx, 0x80000301
je 0x50c3cb
cmp ecx, 0x80000401
je 0x50c3cb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50c3bb
cmp ecx, 0x80000601
je 0x50c3c0
push 0x8a3
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50c3c6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x12a1138]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x50c407
mov ebx, dword [0x12a1138]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50c407
mov eax, 1
jmp 0x50c40c
mov eax, 0
test eax, eax
je 0x50cb4d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50c43c
push 0xcc1
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x50c48d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50c475
push 0xcea
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x50c48d
mov eax, 1
jmp 0x50c492
mov eax, 0
test eax, eax
je 0x50cb48
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50c4c2
push 0xd36
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50c650
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50c507
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50c53b
and eax, 0xff
jmp 0x50c590
cmp ecx, 0x80000201
jne 0x50c546
cwde
jmp 0x50c590
cmp ecx, 0x80000301
je 0x50c590
cmp ecx, 0x80000401
je 0x50c590
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50c580
cmp ecx, 0x80000601
je 0x50c585
push 0xd82
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50c58b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50c5dc
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50c638
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50c678
push 0xdf2
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50c744
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50c6d0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50c72c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50c76c
push 0xe67
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x50cb48
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.0050fa16
mov dword [ebp - 0x38], eax
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50c7c4
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x50c804
and eax, 0xff
jmp 0x50c859
cmp ecx, 0x80000201
jne 0x50c80f
cwde
jmp 0x50c859
cmp ecx, 0x80000301
je 0x50c859
cmp ecx, 0x80000401
je 0x50c859
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50c849
cmp ecx, 0x80000601
je 0x50c84e
push 0xf00
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50c854
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.0050fa16
mov dword [ebp - 0x38], eax
push 8
call fcn.00517f8b
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x62e846
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.0051334d
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50c8cb
push 0xfa3
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ca59
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50c910
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50c944
and eax, 0xff
jmp 0x50c999
cmp ecx, 0x80000201
jne 0x50c94f
cwde
jmp 0x50c999
cmp ecx, 0x80000301
je 0x50c999
cmp ecx, 0x80000401
je 0x50c999
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50c989
cmp ecx, 0x80000601
je 0x50c98e
push 0xfef
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50c994
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50c9e5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50ca41
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50ca81
push 0x105f
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50cb48
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50cad9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50cb35
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
jmp 0x50f27c
mov ebx, dword [0x12a1138]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x50ea9b
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [0x12a1138]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x50cbae
mov ebx, dword [0x12a1138]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50cbae
mov eax, 1
jmp 0x50cbb3
mov eax, 0
test eax, eax
je 0x50cff0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50cbe3
push 0x16b1
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x50cc34
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x50cc1c
push 0x16da
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x50cc34
mov eax, 1
jmp 0x50cc39
mov eax, 0
test eax, eax
je 0x50cdb9
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x27
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50cc75
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50cca9
and eax, 0xff
jmp 0x50ccfe
cmp ecx, 0x80000201
jne 0x50ccb4
cwde
jmp 0x50ccfe
cmp ecx, 0x80000301
je 0x50ccfe
cmp ecx, 0x80000401
je 0x50ccfe
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50ccee
cmp ecx, 0x80000601
je 0x50ccf3
push 0x1727
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50ccf9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50cd4a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50cda6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50cde1
push 0x17b4
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x50ce6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50ce1a
push 0x17dd
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50ce6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50ce53
push 0x1806
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x50ce6b
mov eax, 1
jmp 0x50ce70
mov eax, 0
test eax, eax
je 0x50cff0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50ceac
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50cee0
and eax, 0xff
jmp 0x50cf35
cmp ecx, 0x80000201
jne 0x50ceeb
cwde
jmp 0x50cf35
cmp ecx, 0x80000301
je 0x50cf35
cmp ecx, 0x80000401
je 0x50cf35
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50cf25
cmp ecx, 0x80000601
je 0x50cf2a
push 0x199e
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50cf30
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50cf81
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50cfdd
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50d018
push 0x1a52
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x50d0a2
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x50d051
push 0x1a7b
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50d0a2
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x50d08a
push 0x1aa4
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x50d0a2
mov eax, 1
jmp 0x50d0a7
mov eax, 0
test eax, eax
je 0x50d354
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50d0d7
push 0x1bf6
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50d265
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50d11c
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50d150
and eax, 0xff
jmp 0x50d1a5
cmp ecx, 0x80000201
jne 0x50d15b
cwde
jmp 0x50d1a5
cmp ecx, 0x80000301
je 0x50d1a5
cmp ecx, 0x80000401
je 0x50d1a5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50d195
cmp ecx, 0x80000601
je 0x50d19a
push 0x1c42
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50d1a0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50d1f1
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50d24d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50d28d
push 0x1cb2
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50d354
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50d2e5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50d341
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50d37c
push 0x1d73
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x50d406
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x50d3b5
push 0x1d9c
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x50d406
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50d3ee
push 0x1dc5
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50d406
mov eax, 1
jmp 0x50d40b
mov eax, 0
test eax, eax
je 0x50d8b8
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50d43b
push 0x21f8
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50d489
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50d474
push 0x2221
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50d489
xor eax, eax
jmp 0x50d48e
mov eax, 1
test eax, eax
je 0x50d551
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50d4dd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50d539
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50d579
push 0x2293
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50d707
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50d5be
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50d5f2
and eax, 0xff
jmp 0x50d647
cmp ecx, 0x80000201
jne 0x50d5fd
cwde
jmp 0x50d647
cmp ecx, 0x80000301
je 0x50d647
cmp ecx, 0x80000401
je 0x50d647
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50d637
cmp ecx, 0x80000601
je 0x50d63c
push 0x22df
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50d642
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50d693
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50d6ef
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50d72f
push 0x234f
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50d8b8
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50d774
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50d7a8
and eax, 0xff
jmp 0x50d7fd
cmp ecx, 0x80000201
jne 0x50d7b3
cwde
jmp 0x50d7fd
cmp ecx, 0x80000301
je 0x50d7fd
cmp ecx, 0x80000401
je 0x50d7fd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50d7ed
cmp ecx, 0x80000601
je 0x50d7f2
push 0x239b
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50d7f8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50d849
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50d8a5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50d8e0
push 0x246c
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x50d96a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50d919
push 0x2495
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x50d96a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50d952
push 0x24be
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50d96a
mov eax, 1
jmp 0x50d96f
mov eax, 0
test eax, eax
je 0x50de1c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50d99f
push 0x28f7
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50d9ed
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50d9d8
push 0x2920
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50d9ed
xor eax, eax
jmp 0x50d9f2
mov eax, 1
test eax, eax
je 0x50dab5
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50da41
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50da9d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50dadd
push 0x2992
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50dc6b
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50db22
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50db56
and eax, 0xff
jmp 0x50dbab
cmp ecx, 0x80000201
jne 0x50db61
cwde
jmp 0x50dbab
cmp ecx, 0x80000301
je 0x50dbab
cmp ecx, 0x80000401
je 0x50dbab
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50db9b
cmp ecx, 0x80000601
je 0x50dba0
push 0x29de
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50dba6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50dbf7
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50dc53
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50dc93
push 0x2a4e
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50de1c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50dcd8
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50dd0c
and eax, 0xff
jmp 0x50dd61
cmp ecx, 0x80000201
jne 0x50dd17
cwde
jmp 0x50dd61
cmp ecx, 0x80000301
je 0x50dd61
cmp ecx, 0x80000401
je 0x50dd61
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50dd51
cmp ecx, 0x80000601
je 0x50dd56
push 0x2a9a
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50dd5c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50ddad
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50de09
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50de44
push 0x2b7c
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x50dece
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50de7d
push 0x2ba5
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x50dece
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x50deb6
push 0x2bce
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50dece
mov eax, 1
jmp 0x50ded3
mov eax, 0
test eax, eax
je 0x50e459
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50df0f
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50df43
and eax, 0xff
jmp 0x50df98
cmp ecx, 0x80000201
jne 0x50df4e
cwde
jmp 0x50df98
cmp ecx, 0x80000301
je 0x50df98
cmp ecx, 0x80000401
je 0x50df98
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50df88
cmp ecx, 0x80000601
je 0x50df8d
push 0x305e
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50df93
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50dfc5
push 0x30b0
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50e013
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50dffe
push 0x30d9
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50e013
xor eax, eax
jmp 0x50e018
mov eax, 1
test eax, eax
je 0x50e0db
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50e067
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50e0c3
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50e103
push 0x314b
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50e291
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50e148
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50e17c
and eax, 0xff
jmp 0x50e1d1
cmp ecx, 0x80000201
jne 0x50e187
cwde
jmp 0x50e1d1
cmp ecx, 0x80000301
je 0x50e1d1
cmp ecx, 0x80000401
je 0x50e1d1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e1c1
cmp ecx, 0x80000601
je 0x50e1c6
push 0x3197
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e1cc
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50e21d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50e279
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50e2b9
push 0x3207
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50e447
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50e2fe
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50e332
and eax, 0xff
jmp 0x50e387
cmp ecx, 0x80000201
jne 0x50e33d
cwde
jmp 0x50e387
cmp ecx, 0x80000301
je 0x50e387
cmp ecx, 0x80000401
je 0x50e387
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e377
cmp ecx, 0x80000601
je 0x50e37c
push 0x3253
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e382
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50e3d3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50e42f
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50e481
push 0x3344
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x50e50b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50e4ba
push 0x336d
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x50e50b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x50e4f3
push 0x3396
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50e50b
mov eax, 1
jmp 0x50e510
mov eax, 0
test eax, eax
je 0x50ea96
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50e54c
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50e580
and eax, 0xff
jmp 0x50e5d5
cmp ecx, 0x80000201
jne 0x50e58b
cwde
jmp 0x50e5d5
cmp ecx, 0x80000301
je 0x50e5d5
cmp ecx, 0x80000401
je 0x50e5d5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e5c5
cmp ecx, 0x80000601
je 0x50e5ca
push 0x381d
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e5d0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50e602
push 0x386f
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50e650
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50e63b
push 0x3898
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50e650
xor eax, eax
jmp 0x50e655
mov eax, 1
test eax, eax
je 0x50e718
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50e6a4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50e700
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50e740
push 0x390a
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50e8ce
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50e785
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50e7b9
and eax, 0xff
jmp 0x50e80e
cmp ecx, 0x80000201
jne 0x50e7c4
cwde
jmp 0x50e80e
cmp ecx, 0x80000301
je 0x50e80e
cmp ecx, 0x80000401
je 0x50e80e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e7fe
cmp ecx, 0x80000601
je 0x50e803
push 0x3956
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e809
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50e85a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50e8b6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50e8f6
push 0x39c6
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ea84
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50e93b
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50e96f
and eax, 0xff
jmp 0x50e9c4
cmp ecx, 0x80000201
jne 0x50e97a
cwde
jmp 0x50e9c4
cmp ecx, 0x80000301
je 0x50e9c4
cmp ecx, 0x80000401
je 0x50e9c4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e9b4
cmp ecx, 0x80000601
je 0x50e9b9
push 0x3a12
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e9bf
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50ea10
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50ea6c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50eac3
push 0x3af5
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x50eece
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50eaff
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x50eb33
and eax, 0xff
jmp 0x50eb88
cmp ecx, 0x80000201
jne 0x50eb3e
cwde
jmp 0x50eb88
cmp ecx, 0x80000301
je 0x50eb88
cmp ecx, 0x80000401
je 0x50eb88
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x50eb78
cmp ecx, 0x80000601
je 0x50eb7d
push 0x3f56
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x50eb83
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x50eba6
cmp dword [ebp - 0x38], 0xa
jge 0x50eba6
mov eax, 1
jmp 0x50ebab
mov eax, 0
test eax, eax
je 0x50eec9
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.0050fa16
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x50ebf6
push 0x405d
push 0x40ac4bc
push 4
call fcn.00517f91
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ec13
push 0x405d
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x50eec9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50ec4c
push 0x40a9
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50edda
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50ec91
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50ecc5
and eax, 0xff
jmp 0x50ed1a
cmp ecx, 0x80000201
jne 0x50ecd0
cwde
jmp 0x50ed1a
cmp ecx, 0x80000301
je 0x50ed1a
cmp ecx, 0x80000401
je 0x50ed1a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50ed0a
cmp ecx, 0x80000601
je 0x50ed0f
push 0x40f5
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50ed15
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50ed66
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50edc2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50ee02
push 0x4165
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50eec9
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50ee5a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50eeb6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50eef6
push 0x4253
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x50ef47
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50ef2f
push 0x427c
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50ef47
mov eax, 1
jmp 0x50ef4c
mov eax, 0
test eax, eax
je 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50ef7c
push 0x4678
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x50efca
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50efb5
push 0x46a1
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x50efca
xor eax, eax
jmp 0x50efcf
mov eax, 1
test eax, eax
je 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50efff
push 0x46ed
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f18d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push 0x80000005
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50f044
mov eax, 0x62e846
push eax
push 3
mov ebx, 0x519f10
call fcn.00517f97
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x50f078
and eax, 0xff
jmp 0x50f0cd
cmp ecx, 0x80000201
jne 0x50f083
cwde
jmp 0x50f0cd
cmp ecx, 0x80000301
je 0x50f0cd
cmp ecx, 0x80000401
je 0x50f0cd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f0bd
cmp ecx, 0x80000601
je 0x50f0c2
push 0x4739
push 0x40ac4bc
push 2
call fcn.00517f91
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f0c8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50f119
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50f175
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50f1b5
push 0x47a9
push 0x40ac4bc
push 1
call fcn.00517f91
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50f27c
push 0x12a1164
push 4
mov eax, 2
call fcn.00517f7f
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12a1164]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x50f20d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00517fa3
add esp, 8
mov dword [0x12a1164], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.00517f8b
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x50f269
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00517f8b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x50f27c
pop eax
pop ebx
pop ecx
jmp 0x50c02e
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xe3
call fcn.00517f9d
cmp dword [ebp - 0x3c], esp
je 0x50f2c2
push 0x48ac
push 0x40ac4bc
push 6
call fcn.00517f91
add esp, 0xc
pop ebx
pop ecx
jmp 0x50bb23
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50f2dc
push ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x50f2f3
push ebx
call fcn.00517f85
add esp, 4
pop ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50f30c
push ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x50f31c
push ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00517f85
add esp, 4
pop ebx
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50f356
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50f352
imul eax, dword [ebx]
jmp 0x50f347
mov ecx, eax
test ecx, ecx
je 0x50f37e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00517f85
add esp, 4
pop ebx
call fcn.00517f85
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50f35c
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50f3a4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50f3a0
imul eax, dword [ebx]
jmp 0x50f395
mov ecx, eax
test ecx, ecx
je 0x50f3fb
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x50f3c2
push ebx
call fcn.00517f85
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x50f3d6
push ebx
call fcn.00517f85
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x50f3ea
push ebx
call fcn.00517f85
add esp, 4
pop ebx
call fcn.00517f85
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50f3aa
call fcn.00517f85
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x50f413
push ebx
call fcn.00517f85
add esp, 4
mov esp, ebp
pop ebp
ret