Function at 0x447b10
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x526162
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x388
push ebx
mov ebx, dword [esp + 0x39c]
push ebp
push esi
mov esi, dword [esp + 0x3ac]
push edi
mov edi, dword [ebx + 0x94]
mov ebp, ecx
cmp esi, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edi
je 0x447cb5
mov eax, dword [0x565124]
mov dword [esp + 0x1a8], eax
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x3a0], 0
call fcn.00450400
mov eax, dword [0x565124]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1f4], eax
lea ecx, [esp + 0x200]
mov byte [esp + 0x3a0], 3
call fcn.0050497f
push 1
lea edx, [esp + 0x16c]
sub esp, 0xb0
mov dword [esp + 0x454], 4
mov ecx, esp
mov dword [esp + 0xcc], esp
push edx
call fcn.0049f050
push esi
lea ecx, [ebx + 0x8c]
call fcn.0043eae0
mov edx, dword [ebx + 0x90]
lea eax, [esi + esi*4]
push 1
push 1
lea ecx, [esi + eax*2]
mov eax, dword [ebx + 0x194a4]
shl ecx, 4
push esi
mov dword [ecx + edx], eax
mov edx, dword [ebx + 0x194a4]
inc edx
lea ecx, [ebx + 0x196b0]
mov dword [ebx + 0x194a4], edx
call fcn.005051be
push 0
lea ecx, [ebx + 0x196c4]
push esi
push ecx
mov ecx, ebp
call fcn.00443730
mov dword [ebp + 0xa4], esi
lea ecx, [esp + 0x200]
mov dword [esp + 0x3a0], 8
call fcn.005049b2
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x3a0], 7
call fcn.005097eb
lea edx, [esp + 0x1e0]
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x1e4]
mov byte [esp + 0x3a0], 9
call fcn.005097eb
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x3a0], 6
call fcn.005097eb
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x3a0], 5
call fcn.00413bd0
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
jmp 0x447ead
lea ebp, [edi + 1]
test ebp, ebp
jne 0x447d14
mov esi, dword [ebx + 0x90]
test esi, esi
je 0x447d01
mov eax, dword [ebx + 0x94]
mov ecx, eax
dec eax
test ecx, ecx
je 0x447ce8
lea ebp, [eax + 1]
push 0
mov ecx, esi
call fcn.0043fde0
add esi, 0xb0
dec ebp
jne 0x447cd6
mov eax, dword [ebx + 0x90]
push eax
call fcn.00509e5a
add esp, 4
mov dword [ebx + 0x90], 0
xor eax, eax
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x94], eax
jmp 0x447e88
mov ecx, dword [ebx + 0x90]
test ecx, ecx
jne 0x447d50
lea edx, [ebp + ebp*4]
lea eax, [ebp + edx*2]
shl eax, 4
push eax
call fcn.00509e31
add esp, 4
mov dword [ebx + 0x90], eax
push ebp
push eax
call fcn.0043fbd0
mov dword [ebx + 0x98], ebp
mov dword [ebx + 0x94], ebp
jmp 0x447e88
mov esi, dword [ebx + 0x98]
cmp ebp, esi
jg 0x447dc1
mov eax, dword [ebx + 0x94]
cmp eax, ebp
jge 0x447d85
mov edx, ebp
sub edx, eax
push edx
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
push eax
call fcn.0043fbd0
mov dword [ebx + 0x94], ebp
jmp 0x447e88
jle 0x447db6
lea edx, [ebp + ebp*4]
sub eax, ebp
lea esi, [ebp + edx*2]
shl esi, 4
add esi, ecx
mov ecx, eax
dec eax
test ecx, ecx
je 0x447db6
lea edi, [eax + 1]
push 0
mov ecx, esi
call fcn.0043fde0
add esi, 0xb0
dec edi
jne 0x447da0
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x94], ebp
jmp 0x447e88
mov eax, dword [ebx + 0x9c]
test eax, eax
jne 0x447df2
mov eax, dword [ebx + 0x94]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x447de6
mov eax, 4
jmp 0x447df2
cmp eax, 0x400
jle 0x447df2
mov eax, 0x400
add eax, esi
cmp ebp, eax
mov dword [esp + 0x1c], eax
jl 0x447e00
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x1c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
push eax
call fcn.00509e31
mov ecx, dword [ebx + 0x94]
mov esi, dword [ebx + 0x90]
mov edi, eax
add esp, 4
lea edx, [ecx + ecx*4]
mov dword [esp + 0x28], eax
lea ecx, [ecx + edx*2]
shl ecx, 4
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x94]
sub edx, ecx
push edx
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
shl ecx, 4
add ecx, eax
push ecx
call fcn.0043fbd0
mov eax, dword [ebx + 0x90]
push eax
call fcn.00509e5a
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x94], ebp
mov dword [ebx + 0x98], eax
mov eax, dword [ebx + 0x90]
lea ecx, [edi + edi*4]
lea edx, [edi + ecx*2]
mov ecx, dword [ebx + 0x194a4]
shl edx, 4
mov dword [edx + eax], ecx
mov eax, dword [ebx + 0x194a4]
inc eax
mov dword [ebx + 0x194a4], eax
mov ebp, dword [esp + 0x3ac]
mov eax, dword [ebp]
push eax
call fcn.004f0f41
add esp, 4
mov dword [esp + 0x18], eax
dec eax
cmp eax, 9
ja case.0x447ece.5
jmp dword [eax*4 + 0x44aec0]
mov eax, dword [esp + 0x3b0]
lea edx, [eax + eax*4]
lea esi, [eax + edx*2]
mov eax, dword [ebx + 0x90]
shl esi, 4
mov dword [esp + 0x18], esi
mov byte [esi + eax + 8], 7
mov ecx, dword [0x565124]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x218]
mov dword [esp + 0x3a0], 0xa
call fcn.0049e9a0
mov edx, dword [0x5b8ff0]
push 0x385
mov byte [esp + 0x3a4], 0xb
lea ecx, [edx + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov ecx, dword [ebx + 0x90]
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + ecx + 0x78]
call fcn.00509924
push 3
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
mov edi, eax
lea edx, [esp + 0x10]
push edi
push edx
mov ecx, ebp
call fcn.00502923
inc edi
mov ecx, ebp
push edi
push 0
mov byte [esp + 0x3a8], 0xc
call fcn.0050246c
push str._ApS_
lea ecx, [esp + 0x14]
call fcn.005029e8
cmp eax, 0xffffffff
jle 0x448078
push 6
push 0
lea ecx, [esp + 0x18]
call fcn.0050246c
mov eax, dword [esp + 0x10]
push eax
call fcn.004f0f41
mov ecx, dword [esp + 0x238]
add esp, 4
push eax
push ecx
lea ecx, [esp + 0x234]
call fcn.00504f58
push 2
push 0
lea ecx, [esp + 0x18]
call fcn.0050246c
push str._ApS_
lea ecx, [esp + 0x14]
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
jne 0x447ff9
mov edx, dword [esp + 0x10]
mov edi, dword [edx - 8]
lea eax, [esp + 0x1c]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.00502923
push edi
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x3a8], 0xd
call fcn.0050246c
mov edx, dword [esp + 0x248]
lea ecx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x248]
call fcn.00504bd9
mov eax, dword [esp + 0x25c]
push 0x567444
push eax
lea ecx, [esp + 0x25c]
call fcn.00504bad
push str._ApS_
lea ecx, [esp + 0x14]
call fcn.005029e8
lea ecx, [esp + 0x1c]
mov edi, eax
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
cmp edi, 0xffffffff
jg 0x447fa1
push 0x55f120
mov ecx, ebp
call fcn.005029e8
mov edi, eax
lea ecx, [esp + 0x120]
push edi
push ecx
mov ecx, ebp
call fcn.00502923
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3a4], 0xe
call fcn.00509924
lea ecx, [esp + 0x120]
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
push edi
push 0
mov ecx, ebp
call fcn.0050246c
push str.__vAr_
lea ecx, [esp + 0x14]
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jle 0x4483d1
mov edi, dword [ebx + 0x19504]
mov dword [esp + 0x20], edi
inc edi
test edi, edi
jne 0x448145
mov edi, dword [ebx + 0x19500]
test edi, edi
je 0x448132
mov eax, dword [ebx + 0x19504]
mov edx, eax
dec eax
test edx, edx
je 0x448119
lea esi, [eax + 1]
push 0
mov ecx, edi
call fcn.004220a0
add edi, 0x14
dec esi
jne 0x44810a
mov eax, dword [ebx + 0x19500]
push eax
call fcn.00509e5a
add esp, 4
mov dword [ebx + 0x19500], 0
xor eax, eax
mov dword [ebx + 0x19508], eax
mov dword [ebx + 0x19504], eax
jmp 0x4482a5
mov ecx, dword [ebx + 0x19500]
test ecx, ecx
jne 0x44817c
lea eax, [edi + edi*4]
shl eax, 2
push eax
call fcn.00509e31
add esp, 4
mov dword [ebx + 0x19500], eax
push edi
push eax
call fcn.00422040
mov dword [ebx + 0x19508], edi
mov dword [ebx + 0x19504], edi
jmp 0x4482a5
mov esi, dword [ebx + 0x19508]
cmp edi, esi
jg 0x4481e6
mov eax, dword [ebx + 0x19504]
cmp eax, edi
jge 0x4481b1
lea edx, [eax + eax*4]
sub edi, eax
push edi
lea eax, [ecx + edx*4]
push eax
call fcn.00422040
mov edx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x19504], eax
jmp 0x4482a5
jle 0x4481d4
lea edx, [edi + edi*4]
sub eax, edi
lea edi, [ecx + edx*4]
mov ecx, eax
dec eax
test ecx, ecx
je 0x4481d4
lea esi, [eax + 1]
push 0
mov ecx, edi
call fcn.004220a0
add edi, 0x14
dec esi
jne 0x4481c5
mov edx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x19504], eax
jmp 0x4482a5
mov eax, dword [ebx + 0x1950c]
test eax, eax
jne 0x448217
mov eax, dword [ebx + 0x19504]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x44820b
mov eax, 4
jmp 0x448217
cmp eax, 0x400
jle 0x448217
mov eax, 0x400
add eax, esi
cmp edi, eax
mov dword [esp + 0x1c], eax
jl 0x448225
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.00509e31
mov ecx, dword [ebx + 0x19504]
mov esi, dword [ebx + 0x19500]
mov edi, eax
add esp, 4
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x2c], eax
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x19504]
lea esi, [edx + 1]
mov edx, esi
sub edx, ecx
lea ecx, [ecx + ecx*4]
push edx
lea edx, [eax + ecx*4]
push edx
call fcn.00422040
mov eax, dword [ebx + 0x19500]
push eax
call fcn.00509e5a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ebx + 0x19500], eax
mov dword [ebx + 0x19504], esi
mov dword [ebx + 0x19508], ecx
mov esi, dword [esp + 0x20]
mov edx, dword [ebx + 0x19500]
push 0x567444
lea esi, [esi + esi*4]
shl esi, 2
mov dword [esi + edx + 0xc], 0
mov eax, dword [ebx + 0x19500]
lea ecx, [esi + eax + 0x10]
call fcn.00509974
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x19500]
mov edi, esi
push ecx
add edi, eax
call fcn.004f0f41
mov edx, dword [esp + 0x2c]
add esp, 4
add edx, 7
lea ecx, [esp + 0x10]
push edx
push 0
mov dword [edi + 8], eax
call fcn.0050246c
push str._rAv___oPiS
lea ecx, [esp + 0x14]
call fcn.005029e8
mov edi, eax
lea eax, [esp + 0xc0]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.00502923
mov edx, dword [ebx + 0x19500]
mov ecx, esi
push eax
add ecx, edx
mov byte [esp + 0x3a4], 0xf
call fcn.00509924
lea ecx, [esp + 0xc0]
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
add edi, 0xc
lea ecx, [esp + 0x10]
push edi
push 0
call fcn.0050246c
push str.SiPo_
lea ecx, [esp + 0x14]
call fcn.005029e8
mov edi, eax
lea ecx, [esp + 0x38]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.00502923
mov edx, dword [ebx + 0x19500]
push eax
mov byte [esp + 0x3a4], 0x10
lea ecx, [esi + edx + 4]
call fcn.00509924
lea ecx, [esp + 0x38]
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
add edi, 5
lea ecx, [esp + 0x10]
push edi
push 0
call fcn.0050246c
push str.__vAr_
lea ecx, [esp + 0x14]
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jg 0x4480e1
mov esi, dword [esp + 0x18]
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
mov edi, eax
lea eax, [esp + 0x40]
push edi
push eax
mov ecx, ebp
call fcn.00502923
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3a4], 0x11
call fcn.00509924
lea ecx, [esp + 0x40]
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
push edi
push 0
mov ecx, ebp
call fcn.0050246c
push str._V_aO_p_
lea ecx, [esp + 0x14]
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
je 0x4484da
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4484da
lea edx, [esp + 0x1c]
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.00502923
push 0x55f120
push str.___.__
lea ecx, [esp + 0x24]
mov byte [esp + 0x3a8], 0x12
call fcn.0050263a
mov ecx, dword [esp + 0x38c]
lea eax, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x38c]
call fcn.00504bd9
add edi, 9
lea ecx, [esp + 0x10]
push edi
push 0
call fcn.0050246c
push str._V_aO_p_
lea ecx, [esp + 0x14]
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
jne 0x4484ba
mov edx, dword [esp + 0x10]
mov edi, dword [edx - 8]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3a0], 0xc
call fcn.005097eb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x44844c
mov ecx, dword [ebx + 0x90]
lea eax, [esp + 0x218]
lea edx, [esi + ecx + 0x98]
mov ecx, dword [0x5b8ff0]
push edx
push eax
add ecx, 0x9c8
call fcn.004e17a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x3a0], 0xb
call fcn.005097eb
lea ecx, [esp + 0x384]
mov byte [esp + 0x3a0], 0x24
call fcn.005049b2
lea ecx, [esp + 0x360]
mov byte [esp + 0x3a0], 0x23
call fcn.00504dac
lea ecx, [esp + 0x34c]
mov byte [esp + 0x3a0], 0x22
call fcn.00504dac
lea ecx, [esp + 0x338]
mov byte [esp + 0x3a0], 0x21
call fcn.00504dac
lea ecx, [esp + 0x324]
mov byte [esp + 0x3a0], 0x20
call fcn.00504dac
lea ecx, [esp + 0x310]
mov byte [esp + 0x3a0], 0x1f
call fcn.00504dac
lea ecx, [esp + 0x2fc]
mov byte [esp + 0x3a0], 0x1e
call fcn.00504dac
lea ecx, [esp + 0x2e8]
mov byte [esp + 0x3a0], 0x1d
call fcn.00504dac
lea ecx, [esp + 0x2d4]
mov byte [esp + 0x3a0], 0x1c
call fcn.00504dac
lea ecx, [esp + 0x2c0]
mov byte [esp + 0x3a0], 0x1b
call fcn.00504dac
lea ecx, [esp + 0x2ac]
mov byte [esp + 0x3a0], 0x1a
call fcn.00504dac
lea ecx, [esp + 0x298]
mov byte [esp + 0x3a0], 0x19
call fcn.00504dac
lea ecx, [esp + 0x290]
mov byte [esp + 0x3a0], 0x18
call fcn.005097eb
lea ecx, [esp + 0x27c]
mov byte [esp + 0x3a0], 0x17
call fcn.005049b2
lea ecx, [esp + 0x268]
mov byte [esp + 0x3a0], 0x16
call fcn.005049b2
lea ecx, [esp + 0x254]
mov byte [esp + 0x3a0], 0x15
call fcn.005049b2
lea ecx, [esp + 0x240]
mov byte [esp + 0x3a0], 0x14
call fcn.005049b2
mov byte [esp + 0x3a0], 0x13
lea ecx, [esp + 0x22c]
call fcn.00504dac
lea ecx, [esp + 0x218]
mov byte [esp + 0x3a0], 0xa
call fcn.005049b2
mov dword [esp + 0x3a0], 0xffffffff
lea ecx, [esp + 0x14]
jmp 0x44ae9c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
mov esi, dword [esp + 0x3b0]
mov cl, byte [esp + 0x18]
mov edi, eax
mov eax, dword [ebx + 0x90]
lea edx, [esi + esi*4]
push 0x560da0
lea esi, [esi + edx*2]
shl esi, 4
mov byte [esi + eax + 8], cl
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x44a704
cmp eax, edi
jg 0x44a704
mov edx, eax
mov ecx, ebp
add edx, 2
push edx
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffffe
sub eax, edx
push 0x560d9c
mov ecx, ebp
add edi, eax
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448765
cmp eax, edi
jg 0x448765
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add esp, 4
add edx, 2
mov dword [ecx + 0x30], eax
mov ecx, ebp
push edx
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffffe
sub eax, edx
add edi, eax
jmp 0x448775
mov ecx, dword [ebx + 0x90]
mov edx, dword [esi + ecx - 0x80]
lea eax, [esi + ecx]
mov dword [eax + 0x30], edx
push 0x560d98
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
je 0x448826
cmp eax, edi
jg 0x448826
mov edx, dword [ebx + 0x90]
mov ecx, dword [ebp]
mov eax, esi
push ecx
add eax, edx
mov dword [esp + 0x1c], eax
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x34], eax
push 0x5606d4
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
inc eax
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
sub edx, ecx
mov ecx, dword [ebp]
add edi, edx
mov edx, dword [ebx + 0x90]
mov eax, esi
push ecx
add eax, edx
mov dword [esp + 0x1c], eax
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x38], eax
push 0x560d98
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 2
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov edx, 0xfffffffe
sub edx, ecx
add edi, edx
jmp 0x448844
mov eax, dword [ebx + 0x90]
add eax, esi
mov ecx, dword [eax - 0x7c]
mov dword [eax + 0x34], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x78]
lea eax, [esi + edx]
mov dword [eax + 0x38], ecx
push str.MaIn_l
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4489ab
cmp eax, edi
jg 0x4489ab
mov edx, eax
mov ecx, ebp
add edx, 7
push edx
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffff9
sub eax, edx
mov edx, dword [ebx + 0x90]
add edi, eax
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0xc], eax
push str.__t
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
push eax
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x10], eax
push str.__r
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
push eax
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x14], eax
push str.__b
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x18], eax
push 0x560a84
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
inc eax
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
sub edx, ecx
add edi, edx
jmp 0x4489f5
mov eax, dword [ebx + 0x90]
add eax, esi
mov ecx, dword [eax - 0xa4]
mov dword [eax + 0xc], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0xa0]
lea eax, [esi + edx]
mov dword [eax + 0x10], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x9c]
lea eax, [esi + edx]
mov dword [eax + 0x14], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x98]
lea eax, [esi + edx]
mov dword [eax + 0x18], ecx
push str.ChIl_l
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448b5c
cmp eax, edi
jg 0x448b5c
mov edx, eax
mov ecx, ebp
add edx, 7
push edx
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffff9
sub eax, edx
mov edx, dword [ebx + 0x90]
add edi, eax
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x1c], eax
push str.__t
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
push eax
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x20], eax
push str.__r
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
push eax
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x24], eax
push str.__b
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
add eax, 4
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp]
mov edx, 0xfffffffc
sub edx, ecx
mov ecx, esi
add edi, edx
mov edx, dword [ebx + 0x90]
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x28], eax
push 0x560a84
mov ecx, ebp
call fcn.005029e8
mov dword [esp + 0x10], eax
inc eax
push eax
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
sub edx, ecx
add edi, edx
jmp 0x448ba6
mov eax, dword [ebx + 0x90]
add eax, esi
mov ecx, dword [eax - 0x94]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x90]
lea eax, [esi + edx]
mov dword [eax + 0x20], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x8c]
lea eax, [esi + edx]
mov dword [eax + 0x24], ecx
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x88]
lea eax, [esi + edx]
mov dword [eax + 0x28], ecx
push 0x560d6c
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448c00
cmp eax, edi
jg 0x448c00
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x64], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448c10
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x4c]
lea eax, [esi + edx]
mov dword [eax + 0x64], ecx
push 0x560d68
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448c6a
cmp eax, edi
jg 0x448c6a
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448c7d
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x84]
lea eax, [esi + edx]
mov dword [eax + 0x2c], ecx
push 0x560d64
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448cdc
cmp eax, edi
jg 0x448cdc
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
mov eax, dword [esp + 0x18]
setne dl
add ecx, 2
mov byte [eax + 0x44], dl
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov edx, 0xfffffffe
sub edx, ecx
add edi, edx
jmp 0x448cea
mov eax, dword [ebx + 0x90]
add eax, esi
mov cl, byte [eax - 0x6c]
mov byte [eax + 0x44], cl
push 0x560d60
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448d44
cmp eax, edi
jg 0x448d44
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448d54
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x68]
lea eax, [esi + edx]
mov dword [eax + 0x48], ecx
push 0x560d5c
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448dae
cmp eax, edi
jg 0x448dae
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448dbe
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x64]
lea eax, [esi + edx]
mov dword [eax + 0x4c], ecx
push 0x560d58
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448e1b
cmp eax, edi
jg 0x448e1b
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov byte [edx + 0x84], al
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448e2e
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx - 0x2c]
lea eax, [esi + edx]
mov byte [eax + 0x84], cl
push 0x560d54
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448e88
cmp eax, edi
jg 0x448e88
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov byte [edx + 0x68], al
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448e98
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx - 0x48]
lea eax, [esi + edx]
mov byte [eax + 0x68], cl
push 0x560d50
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448ef5
cmp eax, edi
jg 0x448ef5
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov byte [edx + 0x88], al
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x448f08
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx - 0x28]
lea eax, [esi + edx]
mov byte [eax + 0x88], cl
push 0x560d4c
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448f69
cmp eax, edi
jg 0x448f69
mov eax, dword [ebp]
push eax
call fcn.004f0f41
add esp, 4
and eax, reloc.WS2_32.dll_accept
jns 0x448f39
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x90]
setne dl
add ecx, 2
mov byte [esi + eax + 0x90], dl
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov edx, 0xfffffffe
sub edx, ecx
add edi, edx
jmp 0x448fb9
mov eax, dword [ebx + 0x90]
add eax, esi
mov cl, byte [eax - 0x20]
mov byte [eax + 0x90], cl
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx - 0xa8]
lea eax, [esi + edx]
cmp cl, 4
jne 0x448fb0
cmp dword [esp + 0x3b0], 1
jle 0x448fa7
mov cl, byte [eax - 0xd0]
mov byte [eax + 0x90], cl
jmp 0x448fb9
mov byte [eax + 0x90], 0
jmp 0x448fb9
mov dl, byte [eax - 0x20]
mov byte [eax + 0x90], dl
push 0x560d48
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x449032
cmp eax, edi
jg 0x449032
mov eax, dword [ebp]
push eax
call fcn.004f0f41
mov ecx, eax
add esp, 4
and ecx, reloc.WS2_32.dll_accept
jns 0x448fed
dec ecx
or ecx, 0xfffffffe
inc ecx
mov ecx, dword [ebx + 0x90]
setne dl
mov byte [esi + ecx + 0x92], dl
mov ecx, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov eax, dword [ebx + 0x90]
setne dl
add ecx, 2
mov byte [esi + eax + 0xac], dl
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov edx, 0xfffffffe
sub edx, ecx
add edi, edx
jmp 0x449056
mov eax, dword [ebx + 0x90]
add eax, esi
mov cl, byte [eax - 0x1e]
mov byte [eax + 0x92], cl
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx - 4]
lea eax, [esi + edx]
mov byte [eax + 0xac], cl
push 0x560d44
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4490b8
cmp eax, edi
jg 0x4490b8
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
mov eax, dword [esp + 0x18]
setne dl
add ecx, 2
mov byte [eax + 0x91], dl
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [esp + 0x10]
mov edx, 0xfffffffe
sub edx, ecx
add edi, edx
jmp 0x4490c9
mov eax, dword [ebx + 0x90]
add eax, esi
mov cl, byte [eax - 0x1f]
mov byte [eax + 0x91], cl
push 0x560d40
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x449123
cmp eax, edi
jg 0x449123
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x6c], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x449133
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x44]
lea eax, [esi + edx]
mov dword [eax + 0x6c], ecx
push 0x560d3c
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x44918d
cmp eax, edi
jg 0x44918d
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x74], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x44919d
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x3c]
lea eax, [esi + edx]
mov dword [eax + 0x74], ecx
push 0x560d38
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4491f7
cmp eax, edi
jg 0x4491f7
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp]
mov ecx, esi
push eax
add ecx, edx
mov dword [esp + 0x1c], ecx
call fcn.004f0f41
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, ebp
mov dword [edx + 0x70], eax
mov eax, dword [esp + 0x10]
add eax, 2
push eax
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov ecx, 0xfffffffe
sub ecx, edx
add edi, ecx
jmp 0x449207
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x40]
lea eax, [esi + edx]
mov dword [eax + 0x70], ecx
push 0x560d34
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x44923c
cmp eax, edi
jg 0x44923c
mov edx, eax
mov ecx, ebp
add edx, 2
push edx
push 0
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffffe
sub eax, edx
add edi, eax
push 0x560d30
mov ecx, ebp
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4492bf
cmp eax, edi
jg 0x4492bf
mov eax, dword [ebp]
push eax
call fcn.004f0f41
add esp, 4
cmp eax, 2
mov dword [esp + 0x1c], eax
jl 0x449289
mov ecx, dword [esp + 0x3b0]
push 1
lea edx, [ebx + 0x196c4]
push ecx
mov ecx, dword [esp + 0x28]
push edx
call fcn.004435c0
sub dword [esp + 0x1c], 2
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x90]
test edx, edx
mov edx, dword [esp + 0x10]
setne al
add edx, 2
mov byte [esi + ecx + 0x93], al
push edx
push 0
mov ecx, ebp
call fcn.0050246c
mov edx, dword [esp + 0x10]
mov eax, 0xfffffffe
sub eax, edx
add edi, eax
jmp 0x449309
mov ecx, dword [ebx + 0x90]
mov dl, byte [esi + ecx - 0x1d]
lea eax, [esi + ecx]
mov ecx, dword [esp + 0x3b0]
mov byte [eax + 0x93], dl
dec ecx
lea eax, [ebx + 0x196c4]
push ecx
mov ecx, dword [esp + 0x24]
push eax
call fcn.004438f0
test al, al
je 0x449309
mov edx, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x20]
push 1
lea eax, [ebx + 0x196c4]
push edx
push eax
call fcn.004435c0
push 0x560d2c
mov ecx, ebp
call fcn.005029e8
mov ecx, dword [ebx + 0x196b8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3b0]
inc eax
cmp eax, ecx
jle 0x449339
push 0xffffffffffffffff
push eax
lea ecx, [ebx + 0x196b0]
call fcn.00504dd9
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x44937d
cmp eax, edi
jg 0x44937d
mov ecx, dword [ebx + 0x196b4]
mov edi, dword [esp + 0x3b0]
mov eax, dword [ebp]
lea edx, [ecx + edi*4]
push eax
mov dword [esp + 0x1c], edx
call fcn.004f0f41
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add esp, 4
inc edx
mov dword [ecx], eax
mov ecx, ebp
push edx
push 0
call fcn.0050246c
jmp 0x449393
mov eax, dword [ebx + 0x196b4]
mov ecx, dword [esp + 0x3b0]
mov edi, ecx
mov dword [eax + ecx*4], 3
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x449527
mov edx, dword [0x565124]
mov dword [esp + 0x14], edx
mov eax, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x2c
lea ecx, [eax + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x5c]
push edi
push ecx
lea ecx, [edx + 0x94]
call fcn.004d3b20
mov esi, eax
mov ecx, dword [0x5b8ff0]
lea eax, [esp + 0xe4]
push 0xa
push eax
add ecx, 0x310
mov byte [esp + 0x3ac], 0x2d
call fcn.004d4580
mov edi, eax
lea edx, [esp + 0x18]
push 0x55f120
lea eax, [esp + 0x58]
push edx
push eax
mov byte [esp + 0x3b0], 0x2e
call fcn.00509a80
push edi
lea ecx, [esp + 0x150]
push eax
push ecx
mov byte [esp + 0x3b0], 0x2f
call fcn.00509a1a
push esi
lea edx, [esp + 0x50]
push eax
push edx
mov byte [esp + 0x3b0], 0x30
call fcn.00509a1a
push 0x55f120
push eax
lea eax, [esp + 0xe4]
mov bl, 0x31
push eax
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x32
mov ecx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push ecx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0xd8]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0x48]
mov byte [esp + 0x3a0], 0x30
call fcn.005097eb
lea ecx, [esp + 0x148]
mov byte [esp + 0x3a0], 0x2f
call fcn.005097eb
lea ecx, [esp + 0x50]
mov byte [esp + 0x3a0], 0x2e
call fcn.005097eb
lea ecx, [esp + 0xe0]
mov byte [esp + 0x3a0], 0x2d
call fcn.005097eb
lea ecx, [esp + 0x58]
mov byte [esp + 0x3a0], 0x2c
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tMtW__n
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4495b4
mov edx, dword [esp + 0x14]
cmp eax, edx
jg 0x4495b4
lea ecx, [esp + 0x128]
push eax
push ecx
mov ecx, ebp
call fcn.00502923
mov edx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x33
lea ecx, [esi + edx + 0x78]
call fcn.00509924
lea ecx, [esp + 0x128]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov eax, dword [esp + 0x10]
mov ecx, ebp
add eax, 5
push eax
push 0
call fcn.0050246c
jmp 0x4495c9
mov ecx, dword [ebx + 0x90]
lea eax, [esi + ecx]
lea edx, [eax - 0x38]
lea ecx, [eax + 0x78]
push edx
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x44975d
mov eax, dword [0x565124]
mov dword [esp + 0x14], eax
mov ecx, dword [0x5b8ff0]
push 0xba
add ecx, 0x310
mov dword [esp + 0x3a4], 0x34
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov eax, dword [esp + 0x20]
push 0
lea edx, [esp + 0xf4]
push edi
push edx
lea ecx, [eax + 0x94]
call fcn.004d3b20
mov esi, eax
mov edx, dword [0x5b8ff0]
lea ecx, [esp + 0x74]
push 0xa
push ecx
lea ecx, [edx + 0x310]
mov byte [esp + 0x3ac], 0x35
call fcn.004d4580
mov edi, eax
lea eax, [esp + 0x18]
push 0x55f120
lea ecx, [esp + 0x16c]
push eax
push ecx
mov byte [esp + 0x3b0], 0x36
call fcn.00509a80
push edi
lea edx, [esp + 0x70]
push eax
push edx
mov byte [esp + 0x3b0], 0x37
call fcn.00509a1a
push esi
push eax
lea eax, [esp + 0xf4]
mov byte [esp + 0x3ac], 0x38
push eax
call fcn.00509a1a
push 0x55f120
lea ecx, [esp + 0x68]
mov bl, 0x39
push eax
push ecx
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x3a
mov edx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push edx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x60]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0xe8]
mov byte [esp + 0x3a0], 0x38
call fcn.005097eb
lea ecx, [esp + 0x68]
mov byte [esp + 0x3a0], 0x37
call fcn.005097eb
lea ecx, [esp + 0x164]
mov byte [esp + 0x3a0], 0x36
call fcn.005097eb
lea ecx, [esp + 0x70]
mov byte [esp + 0x3a0], 0x35
call fcn.005097eb
lea ecx, [esp + 0xf0]
mov byte [esp + 0x3a0], 0x34
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tMcW__n
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4497e8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x4497e8
lea edx, [esp + 0x78]
push ecx
push edx
mov ecx, ebp
call fcn.00502923
push eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x3a4], 0x3b
lea ecx, [esi + eax + 0x7c]
call fcn.00509924
lea ecx, [esp + 0x78]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov ecx, dword [esp + 0x10]
add ecx, 5
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
jmp 0x4497fd
mov edx, dword [ebx + 0x90]
lea eax, [esi + edx]
lea ecx, [eax - 0x34]
push ecx
lea ecx, [eax + 0x7c]
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x4499a3
mov edx, dword [0x565124]
mov dword [esp + 0x14], edx
mov eax, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x3c
lea ecx, [eax + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x94]
push edi
push ecx
lea ecx, [edx + 0x94]
call fcn.004d3b20
mov esi, eax
mov ecx, dword [0x5b8ff0]
lea eax, [esp + 0x154]
push 0xa
push eax
add ecx, 0x310
mov byte [esp + 0x3ac], 0x3d
call fcn.004d4580
mov edi, eax
lea edx, [esp + 0x18]
push 0x55f120
lea eax, [esp + 0x90]
push edx
push eax
mov byte [esp + 0x3b0], 0x3e
call fcn.00509a80
push edi
lea ecx, [esp + 0x100]
push eax
push ecx
mov byte [esp + 0x3b0], 0x3f
call fcn.00509a1a
push esi
lea edx, [esp + 0x88]
push eax
push edx
mov byte [esp + 0x3b0], 0x40
call fcn.00509a1a
push 0x55f120
push eax
lea eax, [esp + 0x13c]
mov bl, 0x41
push eax
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x42
mov ecx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push ecx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x130]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0x80]
mov byte [esp + 0x3a0], 0x40
call fcn.005097eb
lea ecx, [esp + 0xf8]
mov byte [esp + 0x3a0], 0x3f
call fcn.005097eb
lea ecx, [esp + 0x88]
mov byte [esp + 0x3a0], 0x3e
call fcn.005097eb
lea ecx, [esp + 0x150]
mov byte [esp + 0x3a0], 0x3d
call fcn.005097eb
lea ecx, [esp + 0x90]
mov byte [esp + 0x3a0], 0x3c
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tCtW__n
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x449a30
mov edx, dword [esp + 0x14]
cmp eax, edx
jg 0x449a30
lea ecx, [esp + 0x100]
push eax
push ecx
mov ecx, ebp
call fcn.00502923
mov edx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x43
lea ecx, [esi + edx + 0x50]
call fcn.00509924
lea ecx, [esp + 0x100]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov eax, dword [esp + 0x10]
mov ecx, ebp
add eax, 5
push eax
push 0
call fcn.0050246c
jmp 0x449a45
mov ecx, dword [ebx + 0x90]
lea eax, [esi + ecx]
lea edx, [eax - 0x60]
lea ecx, [eax + 0x50]
push edx
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x449beb
mov eax, dword [0x565124]
mov dword [esp + 0x14], eax
mov ecx, dword [0x5b8ff0]
push 0xba
add ecx, 0x310
mov dword [esp + 0x3a4], 0x44
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov eax, dword [esp + 0x20]
push 0
lea edx, [esp + 0x164]
push edi
push edx
lea ecx, [eax + 0x94]
call fcn.004d3b20
mov esi, eax
mov edx, dword [0x5b8ff0]
lea ecx, [esp + 0xac]
push 0xa
push ecx
lea ecx, [edx + 0x310]
mov byte [esp + 0x3ac], 0x45
call fcn.004d4580
mov edi, eax
lea eax, [esp + 0x18]
push 0x55f120
lea ecx, [esp + 0x110]
push eax
push ecx
mov byte [esp + 0x3b0], 0x46
call fcn.00509a80
push edi
lea edx, [esp + 0xa8]
push eax
push edx
mov byte [esp + 0x3b0], 0x47
call fcn.00509a1a
push esi
push eax
lea eax, [esp + 0x144]
mov byte [esp + 0x3ac], 0x48
push eax
call fcn.00509a1a
push 0x55f120
lea ecx, [esp + 0xa0]
mov bl, 0x49
push eax
push ecx
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x4a
mov edx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push edx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x98]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0x138]
mov byte [esp + 0x3a0], 0x48
call fcn.005097eb
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3a0], 0x47
call fcn.005097eb
lea ecx, [esp + 0x108]
mov byte [esp + 0x3a0], 0x46
call fcn.005097eb
lea ecx, [esp + 0xa8]
mov byte [esp + 0x3a0], 0x45
call fcn.005097eb
lea ecx, [esp + 0x160]
mov byte [esp + 0x3a0], 0x44
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tCcW__n
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x449c7c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x449c7c
lea edx, [esp + 0xb0]
push ecx
push edx
mov ecx, ebp
call fcn.00502923
push eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x3a4], 0x4b
lea ecx, [esi + eax + 0x54]
call fcn.00509924
lea ecx, [esp + 0xb0]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov ecx, dword [esp + 0x10]
add ecx, 5
push ecx
push 0
mov ecx, ebp
call fcn.0050246c
jmp 0x449c91
mov edx, dword [ebx + 0x90]
lea eax, [esi + edx]
lea ecx, [eax - 0x5c]
push ecx
lea ecx, [eax + 0x54]
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x449e31
mov edx, dword [0x565124]
mov dword [esp + 0x14], edx
mov eax, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x4c
lea ecx, [eax + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0xcc]
push edi
push ecx
lea ecx, [edx + 0x94]
call fcn.004d3b20
mov esi, eax
mov ecx, dword [0x5b8ff0]
lea eax, [esp + 0x11c]
push 0xa
push eax
add ecx, 0x310
mov byte [esp + 0x3ac], 0x4d
call fcn.004d4580
mov edi, eax
lea edx, [esp + 0x18]
push 0x55f120
lea eax, [esp + 0x38]
push edx
push eax
mov byte [esp + 0x3b0], 0x4e
call fcn.00509a80
push edi
lea ecx, [esp + 0x148]
push eax
push ecx
mov byte [esp + 0x3b0], 0x4f
call fcn.00509a1a
push esi
lea edx, [esp + 0xc0]
push eax
push edx
mov byte [esp + 0x3b0], 0x50
call fcn.00509a1a
push 0x55f120
push eax
lea eax, [esp + 0x11c]
mov bl, 0x51
push eax
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x52
mov ecx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push ecx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x110]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0xb8]
mov byte [esp + 0x3a0], 0x50
call fcn.005097eb
lea ecx, [esp + 0x140]
mov byte [esp + 0x3a0], 0x4f
call fcn.005097eb
lea ecx, [esp + 0x30]
mov byte [esp + 0x3a0], 0x4e
call fcn.005097eb
lea ecx, [esp + 0x118]
mov byte [esp + 0x3a0], 0x4d
call fcn.005097eb
lea ecx, [esp + 0xc8]
mov byte [esp + 0x3a0], 0x4c
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tlPa
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
je 0x449ebc
cmp edi, dword [esp + 0x14]
jg 0x449ebc
lea edx, [esp + 0x158]
push edi
push edx
mov ecx, ebp
call fcn.00502923
mov ecx, dword [ebx + 0x90]
mov eax, dword [eax]
lea edx, [esi + ecx + 0x3c]
push edx
push 0x560184
push eax
call fcn.004f2067
add esp, 0xc
lea ecx, [esp + 0x158]
call fcn.005097eb
lea eax, [edi + 4]
mov ecx, ebp
push eax
push 0
call fcn.0050246c
mov eax, dword [esp + 0x14]
mov ecx, 0xfffffffc
sub ecx, edi
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x449ecc
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + edx - 0x74]
lea eax, [esi + edx]
mov dword [eax + 0x3c], ecx
mov edx, dword [ebx + 0x90]
mov cl, byte [esi + edx + 8]
lea eax, [esi + edx]
cmp cl, 1
jne 0x449ee5
mov dword [eax + 0x3c], 0
push 0x560d00
mov ecx, ebp
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
je 0x449f4f
cmp edi, dword [esp + 0x14]
jg 0x449f4f
lea eax, [esp + 0xd0]
push edi
push eax
mov ecx, ebp
call fcn.00502923
mov ecx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x53
lea ecx, [esi + ecx + 0x60]
call fcn.00509924
lea ecx, [esp + 0xd0]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
add edi, 3
mov ecx, ebp
push edi
push 0
call fcn.0050246c
jmp 0x449f64
mov edx, dword [ebx + 0x90]
lea eax, [esi + edx]
lea ecx, [eax - 0x50]
push ecx
lea ecx, [eax + 0x60]
call fcn.00509924
mov edx, dword [ebx + 0x90]
push str.INDEPENDENT_ACTION
lea eax, [esi + edx + 0x78]
mov eax, dword [esi + edx + 0x78]
push eax
call fcn.004f0fee
add esp, 8
test eax, eax
jne 0x449fa8
mov eax, dword [ebx + 0x90]
push str._____
mov byte [esi + eax + 0x94], 1
mov ecx, dword [ebx + 0x90]
lea ecx, [esi + ecx + 0x60]
call fcn.00509974
jmp 0x449fb6
mov edx, dword [ebx + 0x90]
mov byte [esi + edx + 0x94], 0
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x44a13e
mov eax, dword [0x565124]
mov dword [esp + 0x14], eax
mov ecx, dword [0x5b8ff0]
push 0xba
add ecx, 0x310
mov dword [esp + 0x3a4], 0x54
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov edx, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x20]
push 0
lea eax, [esp + 0x60]
push edx
push eax
add ecx, 0x94
call fcn.004d3b20
mov esi, eax
mov eax, dword [0x5b8ff0]
lea edx, [esp + 0x58]
push 0xa
push edx
lea ecx, [eax + 0x310]
mov byte [esp + 0x3ac], 0x55
call fcn.004d4580
mov ebx, eax
lea ecx, [esp + 0x18]
push 0x55f120
lea edx, [esp + 0x54]
push ecx
push edx
mov byte [esp + 0x3b0], 0x56
call fcn.00509a80
push ebx
push eax
lea eax, [esp + 0x50]
mov byte [esp + 0x3ac], 0x57
push eax
call fcn.00509a1a
push esi
lea ecx, [esp + 0x44]
push eax
push ecx
mov byte [esp + 0x3b0], 0x58
call fcn.00509a1a
push 0x55f120
lea edx, [esp + 0x3c]
mov bl, 0x59
push eax
push edx
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x5a
mov ecx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push ecx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x34]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3a0], 0x58
call fcn.005097eb
lea ecx, [esp + 0x44]
mov byte [esp + 0x3a0], 0x57
call fcn.005097eb
mov byte [esp + 0x3a0], 0x56
lea ecx, [esp + 0x4c]
call fcn.005097eb
lea ecx, [esp + 0x54]
mov byte [esp + 0x3a0], 0x55
call fcn.005097eb
lea ecx, [esp + 0x5c]
mov byte [esp + 0x3a0], 0x54
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push str._tExE
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
mov dword [esp + 0x10], edi
je 0x44a2d5
cmp edi, dword [esp + 0x14]
jg 0x44a2d5
lea edx, [esp + 0x64]
push edi
push edx
mov ecx, ebp
call fcn.00502923
push eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x3a4], 0x5b
lea ecx, [esi + eax + 0x40]
call fcn.00509924
lea ecx, [esp + 0x64]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov edx, dword [ebx + 0x90]
lea ecx, [esp + 0x6c]
push 5
push ecx
lea ecx, [esi + edx + 0x40]
call fcn.00502923
mov eax, dword [eax]
push str._tWiN_t
push eax
call fcn.004f0fee
add esp, 8
lea ecx, [esp + 0x6c]
test eax, eax
sete byte [esp + 0x27]
call fcn.005097eb
mov al, byte [esp + 0x27]
test al, al
je 0x44a2c6
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xa8]
lea edi, [eax + 0xa8]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x44a243
push 0x80
push 0x80
mov ecx, edi
call fcn.00509c1b
push eax
call dword [0x5343d8]
mov edx, dword [edi]
push edx
push 0x560674
push edi
call fcn.00502d29
add esp, 0xc
mov ecx, edi
call fcn.00509d46
mov eax, dword [edi]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x44a2c2
mov ecx, dword [ebx + 0x90]
mov edx, dword [esi + ecx + 0x40]
lea ecx, [esi + ecx + 0x40]
mov eax, dword [edx - 8]
add eax, 0xfffffffb
push eax
lea eax, [esp + 0x80]
push eax
call fcn.005028a7
push eax
lea ecx, [esp + 0x78]
push edi
push ecx
mov dword [esp + 0x3ac], 0x5c
call fcn.00509a1a
mov edx, dword [ebx + 0x90]
push eax
mov byte [esp + 0x3a4], 0x5d
lea ecx, [esi + edx + 0x40]
call fcn.00509924
lea ecx, [esp + 0x74]
mov byte [esp + 0x3a0], 0x5c
call fcn.005097eb
lea ecx, [esp + 0x7c]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
mov edi, dword [esp + 0x10]
add edi, 4
mov ecx, ebp
push edi
push 0
call fcn.0050246c
jmp 0x44a2e9
mov eax, dword [ebx + 0x90]
add eax, esi
lea ecx, [eax - 0x70]
push ecx
lea ecx, [eax + 0x40]
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x44a496
mov edx, dword [0x565124]
mov dword [esp + 0x14], edx
mov eax, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x5e
lea ecx, [eax + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov ecx, dword [esp + 0x3b0]
mov eax, dword [esp + 0x20]
push 0
lea edx, [esp + 0xb0]
push ecx
push edx
lea ecx, [eax + 0x94]
call fcn.004d3b20
mov esi, eax
mov edx, dword [0x5b8ff0]
lea ecx, [esp + 0xa8]
push 0xa
push ecx
lea ecx, [edx + 0x310]
mov byte [esp + 0x3ac], 0x5f
call fcn.004d4580
mov ebx, eax
lea eax, [esp + 0x18]
push 0x55f120
lea ecx, [esp + 0xa4]
push eax
push ecx
mov byte [esp + 0x3b0], 0x60
call fcn.00509a80
push ebx
lea edx, [esp + 0x9c]
push eax
push edx
mov byte [esp + 0x3b0], 0x61
call fcn.00509a1a
push esi
push eax
lea eax, [esp + 0x98]
mov byte [esp + 0x3ac], 0x62
push eax
call fcn.00509a1a
push 0x55f120
lea ecx, [esp + 0x8c]
mov bl, 0x63
push eax
push ecx
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x64
mov edx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push edx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0x84]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0x8c]
mov byte [esp + 0x3a0], 0x62
call fcn.005097eb
lea ecx, [esp + 0x94]
mov byte [esp + 0x3a0], 0x61
call fcn.005097eb
mov byte [esp + 0x3a0], 0x60
lea ecx, [esp + 0x9c]
call fcn.005097eb
lea ecx, [esp + 0xa4]
mov byte [esp + 0x3a0], 0x5f
call fcn.005097eb
lea ecx, [esp + 0xac]
mov byte [esp + 0x3a0], 0x5e
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
push 0x55f120
mov ecx, ebp
call fcn.005029e8
push 0x560cf4
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.005029e8
mov edi, eax
cmp edi, 0xffffffff
je 0x44a51e
cmp edi, dword [esp + 0x14]
jg 0x44a51e
lea eax, [esp + 0xb4]
push edi
push eax
mov ecx, ebp
call fcn.00502923
mov ecx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x65
lea ecx, [esi + ecx + 0x8c]
call fcn.00509924
lea ecx, [esp + 0xb4]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
add edi, 3
mov ecx, ebp
push edi
push 0
call fcn.0050246c
jmp 0x44a536
mov edx, dword [ebx + 0x90]
lea eax, [esi + edx]
lea ecx, [eax - 0x24]
push ecx
lea ecx, [eax + 0x8c]
call fcn.00509924
push 0x55f120
mov ecx, ebp
call fcn.005029e8
test eax, eax
je 0x44a6e3
mov edx, dword [0x565124]
mov dword [esp + 0x14], edx
mov eax, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x66
lea ecx, [eax + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov ecx, dword [esp + 0x3b0]
mov eax, dword [esp + 0x20]
push 0
lea edx, [esp + 0xe8]
push ecx
push edx
lea ecx, [eax + 0x94]
call fcn.004d3b20
mov esi, eax
mov edx, dword [0x5b8ff0]
lea ecx, [esp + 0xe0]
push 0xa
push ecx
lea ecx, [edx + 0x310]
mov byte [esp + 0x3ac], 0x67
call fcn.004d4580
mov ebx, eax
lea eax, [esp + 0x18]
push 0x55f120
lea ecx, [esp + 0xdc]
push eax
push ecx
mov byte [esp + 0x3b0], 0x68
call fcn.00509a80
push ebx
lea edx, [esp + 0xd4]
push eax
push edx
mov byte [esp + 0x3b0], 0x69
call fcn.00509a1a
push esi
push eax
lea eax, [esp + 0xd0]
mov byte [esp + 0x3ac], 0x6a
push eax
call fcn.00509a1a
push 0x55f120
lea ecx, [esp + 0xc4]
mov bl, 0x6b
push eax
push ecx
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x6c
mov edx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push edx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0xc4]
mov byte [esp + 0x3a0], 0x6a
call fcn.005097eb
lea ecx, [esp + 0xcc]
mov byte [esp + 0x3a0], 0x69
call fcn.005097eb
mov byte [esp + 0x3a0], 0x68
lea ecx, [esp + 0xd4]
call fcn.005097eb
lea ecx, [esp + 0xdc]
mov byte [esp + 0x3a0], 0x67
call fcn.005097eb
lea ecx, [esp + 0xe4]
mov byte [esp + 0x3a0], 0x66
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 1
push 0
mov ecx, ebp
call fcn.0050246c
mov eax, dword [ebx + 0x90]
mov dword [esi + eax + 0x80], 0
jmp case.0x447ece.5
mov ecx, dword [0x565124]
mov dword [esp + 0x14], ecx
mov edx, dword [0x5b8ff0]
push 0xba
mov dword [esp + 0x3a4], 0x25
lea ecx, [edx + 0x310]
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov eax, dword [esp + 0x3b0]
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
lea ecx, [edx + 0x94]
call fcn.004d3b20
mov esi, eax
mov ecx, dword [0x5b8ff0]
lea eax, [esp + 0x110]
push 0xa
push eax
add ecx, 0x310
mov byte [esp + 0x3ac], 0x26
call fcn.004d4580
mov edi, eax
lea edx, [esp + 0x18]
push 0x55f120
lea eax, [esp + 0x10c]
push edx
push eax
mov byte [esp + 0x3b0], 0x27
call fcn.00509a80
push edi
lea ecx, [esp + 0x104]
push eax
push ecx
mov byte [esp + 0x3b0], 0x28
call fcn.00509a1a
push esi
lea edx, [esp + 0xfc]
push eax
push edx
mov byte [esp + 0x3b0], 0x29
call fcn.00509a1a
push 0x55f120
push eax
lea eax, [esp + 0xf8]
mov bl, 0x2a
push eax
mov byte [esp + 0x3b0], bl
call fcn.00509a80
push ecx
mov byte [esp + 0x3a8], 0x2b
mov ecx, esp
mov dword [esp + 0x20], esp
push ebp
push eax
push ecx
call fcn.00509a1a
mov ecx, dword [0x5b8ff0]
call fcn.004882c0
lea ecx, [esp + 0xec]
mov byte [esp + 0x3a0], bl
call fcn.005097eb
lea ecx, [esp + 0xf4]
mov byte [esp + 0x3a0], 0x29
call fcn.005097eb
lea ecx, [esp + 0xfc]
mov byte [esp + 0x3a0], 0x28
call fcn.005097eb
mov byte [esp + 0x3a0], 0x27
lea ecx, [esp + 0x104]
call fcn.005097eb
lea ecx, [esp + 0x10c]
mov byte [esp + 0x3a0], 0x26
call fcn.005097eb
lea ecx, [esp + 0x114]
mov byte [esp + 0x3a0], 0x25
call fcn.005097eb
lea ecx, [esp + 0x14]
mov dword [esp + 0x3a0], 0xffffffff
call fcn.005097eb
xor al, al
jmp 0x44aea3
push 3
push 0
mov ecx, ebp
call fcn.0050246c
mov esi, dword [esp + 0x3b0]
mov eax, dword [ebx + 0x90]
push 0
push ecx
lea edx, [esi + esi*4]
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5608b4
lea esi, [esi + edx*2]
shl esi, 4
mov byte [esi + eax + 8], 2
call fcn.00509859
push ecx
mov dword [esp + 0x3ac], 0x6d
mov ecx, esp
mov dword [esp + 0x38], esp
push str._m
call fcn.00509859
push ecx
mov byte [esp + 0x3b0], 0x6e
mov ecx, esp
mov dword [esp + 0x38], esp
push ebp
call fcn.00509560
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x12c]
add ecx, 0x94
push edx
mov dword [esp + 0x3b4], 0xffffffff
mov dword [esp + 0x2c], ecx
call fcn.004d3cf0
mov eax, dword [eax]
mov ecx, dword [ebx + 0x90]
mov edi, esi
push eax
add edi, ecx
call fcn.004f0f41
add esp, 4
lea ecx, [esp + 0x11c]
mov dword [edi + 0x30], eax
call fcn.005097eb
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.CpUs
call fcn.00509859
push ecx
mov dword [esp + 0x3ac], 0x6f
mov ecx, esp
mov dword [esp + 0x34], esp
push str.capt
call fcn.00509859
push ecx
mov byte [esp + 0x3b0], 0x70
mov ecx, esp
mov dword [esp + 0x30], esp
push ebp
call fcn.00509560
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x134]
push eax
mov dword [esp + 0x3b4], 0xffffffff
call fcn.004d3cf0
mov eax, dword [eax]
mov ecx, dword [ebx + 0x90]
mov edi, esi
push eax
add edi, ecx
call fcn.004f0f41
add esp, 4
mov dword [edi + 0x4c], eax
lea ecx, [esp + 0x124]
call fcn.005097eb
mov ecx, dword [ebx + 0x90]
mov eax, dword [esi + ecx + 0x30]
dec eax
je 0x44aa36
dec eax
jne case.0x447ece.5
mov eax, dword [0x5b8ff0]
lea edx, [esp + 0x12c]
push 0x21
push edx
lea ecx, [eax + 0x310]
call fcn.004d4580
mov ecx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x72
lea ecx, [esi + ecx + 0x78]
call fcn.00509924
mov dword [esp + 0x3a0], 0xffffffff
lea ecx, [esp + 0x12c]
jmp 0x44ae9c
mov eax, dword [0x5b8ff0]
lea edx, [esp + 0x134]
push 0x20
push edx
lea ecx, [eax + 0x310]
call fcn.004d4580
mov ecx, dword [ebx + 0x90]
push eax
mov dword [esp + 0x3a4], 0x71
lea ecx, [esi + ecx + 0x78]
call fcn.00509924
mov dword [esp + 0x3a0], 0xffffffff
lea ecx, [esp + 0x134]
jmp 0x44ae9c
mov eax, dword [esp + 0x3b0]
push 4
push 0
mov ecx, ebp
lea edx, [eax + eax*4]
lea edi, [eax + edx*2]
mov eax, dword [ebx + 0x90]
shl edi, 4
mov byte [edi + eax + 8], 4
call fcn.0050246c
mov ecx, dword [ebx + 0x90]
mov edx, dword [ebx + 0x196a4]
mov dword [edi + ecx + 0x34], edx
mov eax, dword [ebp]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x44ab8c
lea esi, [ebx + 0x1969c]
push eax
call fcn.004f0f41
add esp, 4
mov ecx, esi
push eax
mov eax, dword [esi + 8]
push eax
call fcn.00504f58
push 1
push 0x79
mov ecx, ebp
call fcn.00509ce7
cmp eax, 0xffffffff
je 0x44ab8c
inc eax
mov ecx, ebp
push eax
push 0
call fcn.0050246c
mov eax, dword [ebp]
push eax
call fcn.004f0f41
mov ecx, dword [esi + 8]
add esp, 4
push eax
push ecx
mov ecx, esi
call fcn.00504f58
push 1
push 0x74
mov ecx, ebp
call fcn.00509ce7
cmp eax, 0xffffffff
jle 0x44ab4f
inc eax
mov ecx, ebp
push eax
push 0
call fcn.0050246c
mov eax, dword [ebp]
push eax
call fcn.004f0f41
mov edx, dword [ebx + 0x19690]
lea ecx, [ebx + 0x19688]
add esp, 4
push eax
push edx
jmp 0x44ab5e
mov eax, dword [ebx + 0x19690]
lea ecx, [ebx + 0x19688]
push 1
push eax
call fcn.00504f58
push 1
push 0x78
mov ecx, ebp
call fcn.00509ce7
cmp eax, 0xffffffff
je 0x44ab8c
inc eax
mov ecx, ebp
push eax
push 0
call fcn.0050246c
mov eax, dword [ebp]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x44aacc
mov ecx, dword [ebx + 0x196a4]
mov edx, dword [ebx + 0x90]
dec ecx
mov dword [edi + edx + 0x38], ecx
mov eax, dword [ebx + 0x90]
mov byte [edi + eax + 0x90], 0
mov ecx, dword [ebx + 0x90]
mov byte [edi + ecx + 0x91], 0
mov edx, dword [ebx + 0x90]
mov byte [edi + edx + 0x92], 0
jmp case.0x447ece.5
mov eax, dword [esp + 0x3b0]
mov edx, dword [ebx + 0x90]
lea ecx, [eax + eax*4]
lea esi, [eax + ecx*2]
shl esi, 4
mov byte [esi + edx + 8], 9
mov eax, dword [0x565124]
mov dword [esp + 0x14], eax
mov ecx, dword [0x5b8ff0]
push 0xb5
add ecx, 0x310
mov dword [esp + 0x3a4], 0x73
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
mov eax, dword [ebx + 0x90]
lea edx, [esp + 0x14]
push edx
lea ecx, [esi + eax + 0x78]
call fcn.00509924
mov ecx, dword [0x5b8ff0]
push 0xb6
add ecx, 0x310
call fcn.004d5c30
push eax
lea ecx, [esp + 0x18]
call fcn.0050a989
push 3
push 0
mov ecx, ebp
call fcn.0050246c
mov ebp, dword [ebp]
mov eax, dword [ebx + 0x90]
mov edi, esi
push ebp
add edi, eax
call fcn.004f0f41
mov dword [edi + 0x48], eax
mov edx, dword [ebx + 0x90]
add esp, 4
lea ecx, [esp + 0x144]
mov eax, dword [esi + edx + 0x48]
mov edx, dword [esp + 0x20]
push eax
push ecx
lea ecx, [edx + 0x94]
call fcn.004d3b20
lea ecx, [esp + 0x14]
lea edx, [esp + 0x13c]
push ecx
push eax
push edx
mov byte [esp + 0x3ac], 0x74
call fcn.00509a1a
push eax
mov eax, dword [ebx + 0x90]
mov byte [esp + 0x3a4], 0x75
lea ecx, [esi + eax + 0x7c]
call fcn.00509924
lea ecx, [esp + 0x13c]
mov byte [esp + 0x3a0], 0x74
call fcn.005097eb
lea ecx, [esp + 0x144]
mov byte [esp + 0x3a0], 0x73
call fcn.005097eb
mov dword [esp + 0x3a0], 0xffffffff
lea ecx, [esp + 0x14]
jmp 0x44ae9c
mov esi, dword [esp + 0x3b0]
mov edx, dword [ebx + 0x90]
lea ecx, [esi + esi*4]
lea esi, [esi + ecx*2]
shl esi, 4
mov byte [esi + edx + 8], 0xa
mov eax, dword [0x565124]
mov dword [esp + 0x1c], eax
mov ecx, dword [0x5b8ff0]
push 0x365
add ecx, 0x310
mov dword [esp + 0x3a4], 0x76
call fcn.004d5c30
push eax
lea ecx, [esp + 0x20]
call fcn.0050a989
mov eax, dword [ebx + 0x90]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + eax + 0x78]
call fcn.00509924
push 4
push 0
mov ecx, ebp
call fcn.0050246c
mov ecx, dword [ebp]
lea edx, [esp + 0x14c]
mov eax, dword [ecx - 8]
mov ecx, ebp
dec eax
push eax
push edx
call fcn.00502923
push eax
mov eax, dword [ebx + 0x90]
mov byte [esp + 0x3a4], 0x77
lea ecx, [esi + eax + 0x40]
call fcn.00509924
lea ecx, [esp + 0x14c]
mov byte [esp + 0x3a0], 0x76
call fcn.005097eb
mov ecx, dword [ebx + 0x90]
lea edx, [esi + ecx + 0x40]
lea ecx, [esp + 0x1c]
push edx
call fcn.00509924
push 0x5c
push 0x2f
lea ecx, [esp + 0x24]
call fcn.005025fd
mov eax, dword [esp + 0x1c]
push 0x5c
lea ecx, [esp + 0x20]
mov edi, dword [eax - 8]
call fcn.005029c6
sub edi, eax
lea ecx, [esp + 0x154]
dec edi
push edi
push ecx
lea ecx, [esp + 0x24]
call fcn.005028a7
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x3a4], 0x78
call fcn.00509924
lea ecx, [esp + 0x154]
mov byte [esp + 0x3a0], 0x76
call fcn.005097eb
mov eax, dword [ebx + 0x90]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + eax + 0x50]
call fcn.00509924
lea ecx, [esp + 0x15c]
push 1
push ecx
mov ecx, ebp
call fcn.005028a7
mov eax, dword [eax]
mov byte [esp + 0x3a0], 0x79
push eax
call fcn.004f0f41
mov ecx, dword [esp + 0x24]
add esp, 4
test eax, eax
mov eax, dword [esp + 0x3b0]
setne dl
push edx
add ebx, 0x196c4
push eax
push ebx
call fcn.004435c0
lea ecx, [esp + 0x15c]
mov byte [esp + 0x3a0], 0x76
call fcn.005097eb
mov dword [esp + 0x3a0], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.005097eb
mov al, 1
mov ecx, dword [esp + 0x398]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x394
ret 0xc