Function at 0x589150
Capabilities:
Contain obfuscated stackstrings

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 0x5f90d5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3d8
mov eax, dword [0x705200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x384], edi
push 0x6749d0
lea ecx, [edi + 0x1418]
mov byte [ebp - 0x385], 0
call fcn.00545460
lea esi, [edi + 0x1430]
mov dword [ebp - 0x37c], edi
push esi
lea ecx, [ebp - 0x374]
mov byte [ebp - 0x378], 0
call fcn.00545500
mov dword [ebp - 0x368], 0xffffffff
mov dword [ebp - 0x364], 0xffffffff
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00545350
lea ecx, [ebp - 0x374]
call fcn.005450e0
xor edx, edx
mov ecx, eax
call fcn.0053c770
test al, al
jne 0x589215
mov byte [ebp - 0x385], 0xf
jmp 0x58a4c9
push 0
push 0x20019
lea ecx, [ebp - 0x374]
mov dword [ebp - 0x70], 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x70]
call fcn.0053fa50
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.0053f250
mov dword [ebp - 0x3b4], eax
test eax, eax
jne 0x589259
mov byte [ebp - 0x385], 0xf
jmp 0x58a4c1
push 1
push 0x6a1544
mov ecx, edi
call fcn.0044dd30
mov ecx, edi
mov dword [ebp - 0x3d4], eax
call fcn.00466440
test al, al
jne 0x589283
mov byte [ebp - 0x385], al
jmp 0x58a4c1
mov esi, dword [edi + 0x14b4]
lea eax, [ebp - 0x348]
push 0x268
push 0
push eax
mov dword [ebp - 0x39c], esi
call fcn.004201e0
add esp, 0xc
lea eax, [edi + 0x1478]
lea ecx, [ebp - 0x348]
push eax
call fcn.00523810
push 0xffffffffffffffff
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 2
call fcn.00521c60
push 1
push 0x69dbb0
lea ecx, [edi + 0x11a4]
call fcn.005451b0
push 0x6a1570
mov ecx, edi
call fcn.00465ac0
push 0xffffffffffffffff
mov ecx, esi
call fcn.005219f0
push 0
call fcn.005219e0
push 0xfffffffffffffffe
push 0x5f
push 0xa0
push 0xb
push 0x78
push 0x75
mov ecx, edi
call fcn.00464bb0
push 0x400
mov ecx, esi
call fcn.00521880
movsd xmm1, qword [0x6e4350]
push 0
push str.Arial
push 1
push 0x320
call fcn.005217f0
push 0x37
push 0x5a
push 3
push 0xa
mov ecx, edi
call fcn.0044e570
push 0xffffffffffffffff
push 0x10000001
push 0x2d
push 0x64
push 0x3c
push 5
push 0x6a15d4
mov ecx, esi
call fcn.0051df20
push dword [edi + 0x1408]
mov ecx, esi
push 0xffffffffffffffff
call fcn.0051c300
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x6c]
movq qword [ebp - 0x6c], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
lea ecx, [ebp - 0x7c]
movq qword [ebp - 0x7c], xmm0
call fcn.00545530
push 0
push str.Arial
mov byte [ebp - 4], 4
push 1
movsd xmm1, qword [0x6e4338]
mov ecx, esi
push 0x190
call fcn.005217f0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x14
push 0x82
push 0x19
push 0x82
push 0x6a15fc
mov ecx, esi
call fcn.0051df20
sub esp, 0xc
lea ecx, [ebp - 0x6c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1624
push dword [ebp - 0x3b4]
call fcn.005441e0
mov ecx, eax
call fcn.005434e0
push 0xfeffff
mov ecx, esi
call fcn.005219f0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x12
push 0x91
push 0x37
push 0x82
lea ecx, [ebp - 0x6c]
call fcn.005450e0
push eax
mov ecx, esi
call fcn.0051df20
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x12
push 0x91
push 0x4b
push 0x82
push 0x6a164c
mov ecx, esi
mov dword [ebp - 0x3d8], eax
call fcn.0051df20
push 0xffffffffffffffff
mov ecx, esi
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x364], eax
call fcn.005219f0
push 0
push ecx
mov dword [esp], 0x41500000
mov ecx, edi
push 0x6999e8
push 0x5f
push 0x96
push 0xa
push 0x11d
push 0x72
push 0x699a90
call fcn.0044e4a0
push eax
mov ecx, esi
mov dword [ebp - 0x3ac], eax
call fcn.00522c70
push eax
lea ecx, [ebp - 0x348]
call fcn.00523510
push 0xfffffffffffffffe
lea ecx, [ebp - 0x348]
call fcn.005219f0
push 0xfffffffffffffffe
push 0xffffffffffffffff
push dword [edi + 0x1408]
mov eax, ecx
push eax
push 0x699ac8
push 0
push ecx
push 0x8c
push 0x49
push 5
push 0x65c478
mov ecx, edi
call fcn.0044e310
push 0
push ecx
mov dword [esp], 0x41500000
mov ecx, edi
push 0x6a1678
push 0x5f
push 0x50
push 0xa
push 0x1b8
push 0x8b
push 0x699bbc
mov dword [ebp - 0x3e8], eax
call fcn.0044e4a0
push 0
push ecx
mov dword [esp], 0x41500000
mov ecx, edi
push 0x6a16e8
push 0x5f
push 0x46
push 0xa
push 0x20d
push 0x6b
push 0x6a1740
mov dword [ebp - 0x3e0], eax
call fcn.0044e4a0
push 0
push ecx
mov dword [esp], 0x41500000
mov ecx, edi
push 0x673154
push 0x5f
push 0x46
push 0xa
push 0x258
push 0x7d
push 0x673180
mov dword [ebp - 0x3c8], eax
call fcn.0044e4a0
push 0
push ecx
mov dword [esp], 0x41500000
mov ecx, edi
push 0x677b0c
push 0x5f
push 0x46
push 0xa
push 0x2a3
push 0xb3
push 0x673148
mov dword [edi + 0x11c4], eax
call fcn.0044e4a0
movsd xmm1, qword [0x6e4328]
mov ecx, esi
push 0
push str.Arial
push 1
push 0x190
mov dword [edi + 0x11c8], eax
call fcn.005217f0
push 0x833
mov ecx, esi
call fcn.00521880
push ecx
push 0x10001137
push 0x1b3
push 0x2ee
push 0x73
push ecx
call fcn.0051d0e0
mov edi, eax
push ecx
push edi
mov ecx, esi
mov dword [ebp - 0x38c], edi
mov dword [ebp - 0x368], edi
call fcn.00517720
push edi
mov ecx, esi
call fcn.00522c70
push 0
push 0x16
push 0x111b
push eax
mov dword [ebp - 0x3a8], eax
call dword [0x5fd6cc]
push 1
push 2
push 0x21
push 0x12
push 0x12
call dword [0x5fd18c]
sub esp, 8
mov edx, 1
mov edi, eax
mov dword [ebp - 0x3a4], edi
push 0xff005f00
lea ecx, [edx + 0x11]
call fcn.0053b8a0
push eax
lea ecx, [ebp - 0x3b4]
call fcn.00523a00
sub esp, 8
xor edx, edx
push 0xff005f00
lea ecx, [edx + 0x12]
call fcn.0053b8a0
push eax
lea ecx, [ebp - 0x3d0]
call fcn.00523a00
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x3d0]
push 0
push esi
push edi
mov edi, dword [0x5fd184]
call edi
push 0
push esi
mov esi, dword [ebp - 0x3a4]
push esi
call edi
push 0
push dword [ebp - 0x3b4]
push esi
call edi
push esi
push 2
push 0x1109
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
mov esi, dword [ebp - 0x384]
lea ecx, [ebp - 0x9c]
mov edi, dword [ebp - 0x39c]
xorps xmm0, xmm0
push 0xd
push 0
push dword [esi + 0x11c8]
movups xmmword [ebp - 0x9c], xmm0
push dword [ebp - 0x3ac]
movups xmmword [ebp - 0x8c], xmm0
push edi
call fcn.00515f60
push 0
mov byte [ebp - 4], 7
mov ecx, esi
push 0x6a1760
call fcn.0044db80
mov ecx, esi
call fcn.0044d9b0
sub esp, 8
mov ecx, esi
push 0x46
push 0x1c2
push edi
push 0x699c68
call fcn.00465970
mov ecx, edi
call fcn.00524130
push 1
push 0x685410
push 0
lea eax, [esi + 0x14c0]
push 0xffffffffffffffb0
push ecx
mov ecx, eax
mov dword [ebp - 0x3a4], eax
call fcn.00513e30
mov ecx, eax
call fcn.00513e70
mov ecx, eax
call fcn.00513c30
push 0
push 0
lea eax, [ebp - 0x37c]
push eax
push 0x569140
push 0
push 0
call dword [0x5fd390]
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmove esi, eax
mov dword [ebp - 0x380], esi
xor edx, edx
mov byte [ebp - 4], 8
mov ecx, esi
call fcn.00529eb0
test al, al
je 0x589800
mov edi, dword [ebp - 0x384]
nop dword [eax]
push 0
push 0
mov ecx, edi
call fcn.00465630
test eax, eax
je 0x5897ed
cmp byte [ebp - 0x378], 0
jne 0x5897ed
sub esp, 8
mov ecx, edi
push 0x8c
push 0x190
push 0
push 0
push 1
push 0x6814d8
call fcn.004661f0
test eax, eax
jne 0x5897e6
push 1
mov ecx, edi
call fcn.004657f0
jmp 0x5897ed
mov byte [ebp - 0x378], 1
xor edx, edx
mov ecx, esi
call fcn.00529eb0
test al, al
jne 0x5897a0
mov edi, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x3a4]
push 2
call fcn.005139e0
push 0x400
mov ecx, edi
call fcn.00521880
push 0
push 0x10800080
push 0x19
push 0xb9
push 0x23
push 0x2f3
push 0x6a17a0
call fcn.0051e0d0
push 0x7f7f7f
push 0xffffffffffffffff
mov ecx, edi
mov dword [ebp - 0x394], eax
call fcn.0051c300
movsd xmm0, qword [0x6e4338]
sub esp, 0xc
movsd qword [esp + 4], xmm0
push 0
push ecx
push 0x190
push 0xffffffffffffffff
mov ecx, edi
call fcn.0051c1a0
push 0
push ecx
mov ecx, dword [ebp - 0x384]
mov dword [esp], 0x41500000
push 0x677b7c
push 0x28
push 0x5a
push 0x41
push 0x2f3
push 0x86
push 0x677b7c
call fcn.0044e400
push 0
push ecx
mov ecx, dword [ebp - 0x384]
mov dword [esp], 0x41500000
push 0x62c6b0
push 0x28
push 0x5a
push 0x41
push 0x352
push 0x99
push 0x677b90
mov dword [ebp - 0x3dc], eax
call fcn.0044e400
push dword [ebp - 0x3bc]
mov ecx, edi
mov dword [ebp - 0x3b0], eax
call fcn.005198c0
push eax
lea ecx, [ebp - 0x7c]
call fcn.00545110
push dword [ebp - 0x3d8]
mov ecx, edi
call fcn.005198c0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00545110
sub esp, 0xc
mov ecx, 0x6a17e8
cmp byte [ebp - 0x378], 0
mov eax, 0x6a17d0
cmove eax, ecx
lea ecx, [ebp - 0x6c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x6a1800
call fcn.005434e0
push 0
lea ecx, [ebp - 0x7c]
call fcn.005450e0
push eax
push 0x6a1820
lea ecx, [ebp - 0x6c]
call fcn.005450e0
mov ecx, dword [ebp - 0x384]
push eax
call fcn.00449100
push 0x48
call dword [0x5fd6d0]
movsd xmm0, qword [0x6e42e8]
mov edx, eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x398], edx
comisd xmm0, xmmword [eax + 8]
jb 0x58999e
push 4
call dword [0x5fd7f8]
mov edx, dword [ebp - 0x398]
mov ecx, eax
mov eax, dword [ebp - 0x384]
or ecx, 0xff000000
jmp 0x5899a0
xor ecx, ecx
push ecx
push edx
push edx
mov dword [ebp - 0x390], ecx
mov ecx, eax
push 0x8b
call fcn.0045e340
push eax
lea ecx, [ebp - 0x350]
call fcn.00523a10
mov byte [ebp - 4], 9
mov ecx, edi
push dword [ebp - 0x350]
push 0x6a1828
push dword [ebp - 0x38c]
call fcn.0051eae0
push 0
push eax
push dword [ebp - 0x38c]
mov ecx, edi
mov dword [ebp - 0x3a0], eax
call fcn.00522c20
push eax
call dword [0x5fd800]
push dword [ebp - 0x390]
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x384]
push eax
push eax
push 0x72
call fcn.0045e340
push eax
lea ecx, [ebp - 0x358]
call fcn.00523a10
push 0
mov byte [ebp - 4], 0xa
mov ecx, edi
push dword [ebp - 0x358]
push 0
push 0x32
push 0x6a1878
push dword [ebp - 0x3a0]
call fcn.0051da90
push dword [ebp - 0x390]
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x398]
push eax
push eax
push 0xac
call fcn.0045e340
push eax
lea ecx, [ebp - 0x35c]
call fcn.00523a10
push 0
mov byte [ebp - 4], 0xb
mov ecx, edi
push dword [ebp - 0x35c]
push 0
push 0x32
push 0x6a18bc
push dword [ebp - 0x3a0]
call fcn.0051da90
push dword [ebp - 0x390]
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x398]
push eax
push eax
push 0x7c
call fcn.0045e340
push eax
lea ecx, [ebp - 0x360]
call fcn.00523a10
push 0
mov byte [ebp - 4], 0xc
push dword [ebp - 0x360]
push 0
push 0x32
push 0x699f18
push dword [ebp - 0x3a0]
mov ecx, edi
call fcn.0051da90
push 0
push 0
push 8
push 0x32
push 0
push dword [ebp - 0x3a0]
mov ecx, edi
mov dword [ebp - 0x3c0], eax
call fcn.0051da90
push dword [ebp - 0x390]
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x384]
push eax
push eax
push 0x99
call fcn.0045e340
push eax
lea ecx, [ebp - 0x354]
call fcn.00523a10
push 0
mov byte [ebp - 4], 0xd
mov ecx, edi
push dword [ebp - 0x354]
push 0
push 0x32
push 0x699f50
push dword [ebp - 0x3a0]
call fcn.0051da90
push dword [ebp - 0x390]
mov ecx, dword [ebp - 0x384]
mov edi, eax
mov eax, dword [ebp - 0x398]
push eax
push eax
push 0x98
call fcn.0045e340
push eax
lea ecx, [ebp - 0x34c]
call fcn.00523a10
mov ecx, dword [ebp - 0x39c]
push 0
mov byte [ebp - 4], 0xe
push dword [ebp - 0x34c]
push 0
push 0x32
push 0x699f80
push dword [ebp - 0x3a0]
call fcn.0051da90
mov ecx, dword [ebp - 0x384]
push 0
mov dword [ebp - 0x398], eax
call fcn.0044d820
mov ecx, 0x1b
mov byte [ebp - 0x60], 9
mov edx, eax
mov word [ebp - 0x5e], cx
mov eax, dword [ebp - 0x3c8]
mov word [ebp - 0x58], cx
mov ecx, dword [ebp - 0x384]
mov word [ebp - 0x5c], ax
mov dword [ebp - 0x3cc], edx
mov byte [ebp - 0x5a], 1
movzx eax, word [ecx + 0x11c8]
mov word [ebp - 0x56], ax
mov eax, 0x70
mov word [ebp - 0x52], ax
movzx eax, word [ecx + 0x11c4]
mov word [ebp - 0x50], ax
mov eax, 0x72
mov word [ebp - 0x4c], ax
mov eax, dword [ebp - 0x3b0]
mov byte [ebp - 0x54], 1
mov byte [ebp - 0x4e], 1
mov word [ebp - 0x4a], ax
lea ecx, [ebp - 0x9c]
mov eax, 0x46
mov byte [ebp - 0x48], 9
mov word [ebp - 0x46], ax
mov eax, 0xd
mov word [ebp - 0x40], ax
mov eax, dword [ebp - 0x3a0]
mov word [ebp - 0x3e], ax
mov eax, 0x2e
mov word [ebp - 0x3a], ax
mov eax, dword [ebp - 0x3a4]
mov word [ebp - 0x38], ax
mov eax, 0x4f
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x3c4]
mov word [ebp - 0x32], ax
mov eax, 0x47
mov word [ebp - 0x2e], ax
mov eax, dword [ebp - 0x3c0]
mov word [ebp - 0x2c], ax
mov eax, 0x53
mov word [ebp - 0x28], ax
mov eax, 0x45
mov word [ebp - 0x22], ax
mov eax, dword [ebp - 0x398]
mov word [ebp - 0x44], dx
mov byte [ebp - 0x42], 9
mov byte [ebp - 0x3c], 9
mov byte [ebp - 0x36], 9
mov byte [ebp - 0x30], 9
mov byte [ebp - 0x2a], 9
mov word [ebp - 0x26], di
mov byte [ebp - 0x24], 9
mov word [ebp - 0x20], ax
call fcn.00515d60
mov edi, dword [ebp - 0x39c]
lea eax, [ebp - 0x60]
push 0xb
push eax
mov ecx, edi
call fcn.00521ce0
push dword [ebp - 0x3b0]
mov ecx, edi
mov dword [ebp - 0x390], 0
call fcn.005218b0
mov eax, dword [ebp - 0x384]
test dword [eax + 0x1f20], 0x100
jne 0x58a3e2
nop dword [eax]
push 0
mov ecx, eax
call fcn.005e2990
mov eax, dword [ebp - 0x384]
lea ecx, [ebp - 0x348]
mov edx, dword [eax + 0x14a8]
cmp edx, ecx
jne 0x589d3c
cmp dword [eax + 0x1478], 0xfffffff5
jne 0x589d3c
mov ecx, dword [ebp - 0x3ac]
mov edx, edi
mov dword [eax + 0x14a8], edi
mov dword [eax + 0x1478], ecx
mov ecx, dword [eax + 0x1478]
cmp ecx, 0xfffffffa
je 0x58a3e2
cmp edx, edi
jne 0x58a3b9
mov edx, dword [ebp - 0x38c]
cmp ecx, 0xffffffea
jne 0x589d66
cmp dword [eax + 0x1484], edx
je 0x589d72
cmp ecx, dword [ebp - 0x3dc]
jne 0x589e04
push 0
push 9
push edx
mov ecx, edi
call fcn.00517760
test eax, eax
je 0x589d94
push eax
push 3
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.00517760
jmp 0x589d96
xor eax, eax
mov ecx, dword [ebp - 0x39c]
test eax, eax
mov eax, 0x20
mov edi, 0x40
cmovne edi, eax
push edi
push dword [ebp - 0x3a0]
call fcn.0051aa80
mov ecx, dword [ebp - 0x39c]
push edi
push dword [ebp - 0x3c4]
call fcn.0051aa80
push edi
push dword [ebp - 0x3c0]
mov edi, dword [ebp - 0x39c]
mov ecx, edi
call fcn.0051aa80
push 0x20
push dword [ebp - 0x398]
mov ecx, edi
call fcn.0051aa80
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.00519660
jmp 0x58a3b3
cmp ecx, 0xffffffb3
jne 0x589e1d
mov edi, dword [ebp - 0x394]
cmp dword [eax + 0x1484], edi
mov edi, dword [ebp - 0x39c]
je 0x589e29
cmp ecx, dword [ebp - 0x3cc]
jne 0x589ecd
mov ecx, eax
call fcn.005deda0
push 0x80
push dword [ebp - 0x394]
mov ecx, edi
call fcn.0051aa80
push dword [ebp - 0x394]
mov ecx, edi
call fcn.005198c0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00545110
push 0x6a17a0
lea ecx, [ebp - 0x6c]
call fcn.00545410
mov ecx, edi
test al, al
je 0x589eb4
push 0
push 0
push dword [ebp - 0x394]
call fcn.0051a3c0
push 0
push dword [ebp - 0x394]
mov ecx, edi
call fcn.0051c300
movsd xmm0, qword [0x6e4350]
sub esp, 0xc
movsd qword [esp + 4], xmm0
push 0
push ecx
push 0x190
push dword [ebp - 0x394]
mov ecx, edi
call fcn.0051c1a0
jmp 0x58a3b3
push 0xffffffffffffffff
push 0
push 0xb1
push dword [ebp - 0x394]
call fcn.0051c660
jmp 0x58a3b3
cmp ecx, 0xffffffb4
jne 0x589f98
mov edi, dword [ebp - 0x394]
cmp dword [eax + 0x1484], edi
mov edi, dword [ebp - 0x39c]
jne 0x589f98
push dword [ebp - 0x394]
mov ecx, edi
call fcn.005198c0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00545110
lea ecx, [ebp - 0x6c]
call fcn.005452f0
cmp eax, 3
jl 0x58a3b3
cmp dword [ebp - 0x390], 0
jne 0x589f33
push 0
push 9
push 0x110a
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.005450e0
push eax
push 0
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.005178f0
mov ecx, eax
mov dword [ebp - 0x390], ecx
test ecx, ecx
je 0x58a3b3
push ecx
push 9
push 0x110b
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
push dword [ebp - 0x390]
push 0
push 0x1114
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
mov dword [ebp - 0x390], 0
jmp 0x58a3b3
cmp ecx, dword [ebp - 0x3b0]
jne 0x58a0a8
push dword [ebp - 0x394]
mov ecx, edi
call fcn.005198c0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00545110
push 0x6a17a0
lea ecx, [ebp - 0x6c]
call fcn.00545410
test al, al
jne 0x58a08d
lea ecx, [ebp - 0x6c]
call fcn.00544e00
test al, al
jne 0x58a08d
call fcn.00544e00
test al, al
jne 0x58a3b3
push ecx
call fcn.005450e0
push eax
push dword [ebp - 0x390]
mov ecx, edi
push dword [ebp - 0x38c]
call fcn.005178f0
mov dword [ebp - 0x390], eax
test eax, eax
je 0x58a054
push eax
push 9
push 0x110b
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
push dword [ebp - 0x390]
push 0
push 0x1114
push dword [ebp - 0x3a8]
call dword [0x5fd6cc]
push 0x80
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.0051aa80
jmp 0x58a3b3
push 0x80
push dword [ebp - 0x394]
mov ecx, edi
call fcn.0051aa80
mov ecx, dword [ebp - 0x384]
sub esp, 8
push 0x8c
push 0x190
push 0
push edi
push 4
push 0x62d6a0
call fcn.004661f0
jmp 0x58a3b3
push 0
push 0
push 0x201
push dword [ebp - 0x3cc]
mov ecx, edi
call fcn.0051c660
jmp 0x58a3b3
cmp ecx, 0xffffffeb
jne 0x58a0c8
cmp dword [eax + 0x1484], edx
jne 0x58a0c8
push dword [ebp - 0x394]
mov ecx, eax
push edx
call fcn.00466190
jmp 0x58a3b3
mov edx, dword [eax + 0x1f20]
test dl, dl
mov dword [ebp - 0x3b8], edx
mov edx, dword [ebp - 0x38c]
js 0x58a2f4
cmp ecx, dword [ebp - 0x3ac]
je 0x58a30c
cmp ecx, dword [ebp - 0x3a4]
je 0x58a30c
cmp ecx, dword [ebp - 0x3e0]
je 0x58a293
cmp ecx, dword [ebp - 0x3a0]
je 0x58a293
cmp ecx, 0xfffffff2
jne 0x58a123
cmp dword [eax + 0x1484], edx
je 0x58a293
cmp ecx, dword [ebp - 0x3c8]
je 0x58a3d4
cmp ecx, dword [eax + 0x11c8]
je 0x58a3cb
cmp ecx, dword [ebp - 0x3c4]
jne 0x58a1cf
push 0
push 9
push edx
mov ecx, edi
call fcn.00517760
mov dword [ebp - 0x3b8], eax
test eax, eax
je 0x58a3b3
push eax
push 3
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.00517760
test eax, eax
je 0x58a3b3
push dword [ebp - 0x3b8]
mov ecx, edi
push dword [ebp - 0x38c]
call fcn.005177b0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00545110
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x69a250
lea ecx, [ebp - 0x6c]
call fcn.00543a40
cmp eax, 3
jl 0x58a3b3
dec eax
lea ecx, [ebp - 0x6c]
push eax
call fcn.00543dd0
mov ecx, eax
call fcn.005450e0
push eax
call fcn.00463e00
jmp 0x58a3b3
cmp ecx, dword [ebp - 0x3c0]
jne 0x58a25c
push 0
push 9
push edx
mov ecx, edi
call fcn.00517760
test eax, eax
je 0x58a3b3
push eax
push 3
push dword [ebp - 0x38c]
mov ecx, edi
call fcn.00517760
test eax, eax
je 0x58a3b3
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x69a250
lea ecx, [ebp - 0x6c]
call fcn.00543a40
dec eax
lea ecx, [ebp - 0x6c]
push eax
call fcn.00543dd0
push 0
push 1
push 4
push 1
push 0x61e3a8
lea ecx, [ebp - 0x6c]
call fcn.00543a40
neg eax
lea ecx, [ebp - 0x6c]
sbb eax, eax
and eax, 2
push eax
call fcn.005450e0
mov ecx, dword [ebp - 0x384]
push eax
call fcn.0044d620
jmp 0x58a3b3
cmp ecx, dword [ebp - 0x398]
jne 0x58a3b9
push dword [ebp - 0x378]
mov ecx, eax
push dword [ebp - 0x3d8]
push dword [ebp - 0x3bc]
push edx
call fcn.00569dc0
push dword [ebp - 0x3d4]
call dword [0x5fd7a8]
jmp 0x58a3b3
push 0x1d
push dword [eax + 0x11c4]
xorps xmm0, xmm0
lea ecx, [ebp - 0xdc]
push dword [ebp - 0x3b0]
movups xmmword [ebp - 0xdc], xmm0
push dword [ebp - 0x3ac]
movups xmmword [ebp - 0xcc], xmm0
push edi
call fcn.00515f60
push dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x384]
mov byte [ebp - 4], 0x10
call fcn.0056a9f0
push dword [ebp - 0x3d4]
call dword [0x5fd7a8]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xdc]
jmp 0x58a3ae
mov ecx, dword [ebp - 0x3b8]
and ecx, 0xffffff7f
or ecx, 0x100
mov dword [eax + 0x1f20], ecx
push 0
push ecx
mov ecx, eax
call fcn.005e09c0
test al, al
je 0x58a3b3
push 4
push dword [ebp - 0x3e8]
lea ecx, [ebp - 0x348]
call fcn.00519b90
test eax, eax
lea ecx, [ebp - 0xbc]
mov eax, dword [ebp - 0x384]
xorps xmm0, xmm0
push 0x1d
setne byte [ebp - 0x3e4]
movups xmmword [ebp - 0xbc], xmm0
push dword [eax + 0x11c4]
movups xmmword [ebp - 0xac], xmm0
push dword [ebp - 0x3b0]
push dword [ebp - 0x3ac]
push edi
call fcn.00515f60
push dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x384]
push dword [ebp - 0x3bc]
mov byte [ebp - 4], 0xf
push dword [ebp - 0x38c]
call fcn.0056a200
mov eax, dword [ebp - 0x384]
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xe
test dword [eax + 0x1f20], 0x100
jne 0x58a3dd
call fcn.00515ef0
mov eax, dword [ebp - 0x384]
test dword [eax + 0x1f20], 0x100
je 0x589d00
jmp 0x58a3e2
mov byte [ebp - 0x385], 1
jmp 0x58a3e2
mov byte [ebp - 0x385], 0xf
jmp 0x58a3e2
call fcn.00515ef0
mov edi, dword [ebp - 0x384]
mov ecx, edi
push 0
push 1
call fcn.00465630
push 0
mov ecx, edi
call fcn.00465ac0
lea ecx, [ebp - 0x374]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x70]
call fcn.0053e730
push 0
push 0x6a1760
mov ecx, edi
call fcn.0044da30
cmp byte [ebp - 0x385], 0
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.0044d910
lea ecx, [ebp - 0x34c]
call fcn.005239f0
lea ecx, [ebp - 0x354]
call fcn.005239f0
lea ecx, [ebp - 0x360]
call fcn.005239f0
lea ecx, [ebp - 0x35c]
call fcn.005239f0
lea ecx, [ebp - 0x358]
call fcn.005239f0
lea ecx, [ebp - 0x350]
call fcn.005239f0
cmp esi, 0xffffffff
je 0x58a485
test esi, esi
je 0x58a485
push esi
call dword [0x5fd3a0]
lea ecx, [ebp - 0x9c]
call fcn.00515ef0
lea ecx, [ebp - 0x3d0]
call fcn.005239f0
lea ecx, [ebp - 0x3b4]
call fcn.005239f0
lea ecx, [ebp - 0x7c]
call fcn.00545380
lea ecx, [ebp - 0x6c]
call fcn.00545380
lea ecx, [ebp - 0x348]
call fcn.0051f2f0
lea ecx, [ebp - 0x70]
call fcn.0053f9b0
lea ecx, [ebp - 0x374]
call fcn.00545380
mov al, byte [ebp - 0x385]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e475
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret