Function at 0x533d30
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x658
push ebx
push esi
push edi
mov dword [ebp - 0x14], 0
push 0x84
push 0
push 0x5d7260
call fcn.0054f4e0
add esp, 0xc
mov eax, dword [0x55eeb0]
mov dword [0x5d72ae], eax
mov ecx, dword [0x5d72ae]
and ecx, 0x200
test ecx, ecx
je 0x533d7d
mov dword [0x5d9960], 1
jmp 0x533da3
mov edx, dword [0x5d72ae]
and edx, 0x400
test edx, edx
je 0x533d99
mov dword [0x5d9960], 1
jmp 0x533da3
mov dword [0x5d9960], 0
mov ax, word [0x5d276c]
add ax, 1
mov word [0x5d276c], ax
call fcn.0053f660
call fcn.0053f910
push 0x800
push 0
push 0x5d99c0
call fcn.0054f4e0
add esp, 0xc
push 0x8001
call dword [0x5dc934]
mov dword [0x5d2754], eax
mov ecx, dword [0x5d72ae]
and ecx, 2
test ecx, ecx
je 0x5340e0
push 0x18
push 0x5b6d90
push 0x5d8460
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 0x16
jmp 0x533e21
mov edx, dword [0x5d3160]
sub edx, 1
mov dword [0x5d3160], edx
cmp dword [0x5d3160], 0
jl 0x533e4e
mov eax, dword [0x5d3160]
mov ecx, dword [0x5d3160]
mov dl, byte [eax + 0x5d8460]
xor dl, byte [ecx + 0x5d8461]
mov eax, dword [0x5d3160]
mov byte [eax + 0x5d8460], dl
jmp 0x533e12
push 0x18
push 0x5d8460
push 0x5d8000
call fcn.0054f130
add esp, 0xc
mov byte [0x5d8018], 0
push 0x5d284c
push 0x20019
push 0
push 0x5d8000
push reloc.MSVFW32.dll_Ordinal_2
call dword [0x5d3640]
test eax, eax
jne 0x533ea0
mov ecx, dword [0x5d284c]
push ecx
call dword [0x5d37a4]
mov dword [0x581d24], 1
cmp dword [0x581d24], 0
je 0x5340e0
push 0x5b1318
call fcn.0053a840
push 0
call dword [0x5d6040]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0x53f1d0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x38], 0x5b6dac
mov dword [ebp - 0x34], 0x5b6db8
lea eax, [ebp - 0x58]
push eax
call dword [0x5d8be0]
mov word [ebp - 0xa4], ax
push 0x10
call dword [0x5d89c0]
mov dword [ebp - 0x30], eax
push 0x11
call dword [0x5d89c0]
mov dword [ebp - 0x5c], eax
mov dword [0x5d997c], 0x12c
mov dword [0x5da2a0], 0xc8
mov dword [0x5d28fc], 0
push 0
mov ecx, dword [ebp - 0x18]
push ecx
push 0
push 0
mov edx, dword [0x5da2a0]
push edx
mov eax, dword [0x5d997c]
push eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [0x5da2a0]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x30]
sub eax, dword [0x5d997c]
cdq
sub eax, edx
sar eax, 1
push eax
push 0x80040000
push 0x5b6dc4
push 0x5b6dd0
push 0x80
call dword [0x5d8b34]
mov dword [0x5d28fc], eax
cmp dword [0x5d28fc], 0
je 0x5340e0
push 0xa
mov ecx, dword [0x5d28fc]
push ecx
call dword [0x5d7ff0]
lea edx, [ebp - 0x9c]
push edx
mov eax, dword [0x5d28fc]
push eax
call dword [0x5da6b0]
mov dword [ebp - 0xa0], eax
push 0x5d7f70
mov ecx, dword [0x5d28fc]
push ecx
call dword [0x5d379c]
lea edx, [ebp - 0xb0]
push edx
lea eax, [ebp - 0xac]
push eax
call fcn.0053a430
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xac]
push edx
push 0xa
mov eax, dword [0x5d997c]
sub eax, dword [ebp - 0xac]
sub eax, 0x14
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.0053a490
push 0x10
push 0x5d7f70
lea edx, [ebp - 0x28]
push edx
call fcn.0054f130
add esp, 0xc
mov eax, dword [0x5d7f7c]
sub eax, dword [0x5d7f74]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [0x5d7f74]
lea edx, [ecx + eax - 0x28]
mov dword [ebp - 0x24], edx
push 0x10
lea eax, [ebp - 0x28]
push eax
push 0x5d7f70
call fcn.0054f130
add esp, 0xc
push 0x55e3b0
call fcn.0053ed70
push 0x55e3b0
call fcn.0053e1c0
lea ecx, [ebp - 0x9c]
push ecx
mov edx, dword [0x5d28fc]
push edx
call dword [0x5dc7e0]
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [0x5d28fc]
push ecx
call dword [0x5d379c]
push 1
lea edx, [ebp - 0x28]
push edx
mov eax, dword [0x5d28fc]
push eax
call dword [0x5d9998]
mov ecx, dword [0x5d28fc]
push ecx
call dword [0x5d8444]
lea edx, [ebp - 0x2c]
push edx
push 0
push 0
push 0x53f4a0
push 0x3e8
push 0
call dword [0x5df540]
mov dword [ebp - 0xa8], eax
mov ax, word [0x5d276c]
add ax, 1
mov word [0x5d276c], ax
call fcn.0054dd30
push 0
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x53414f
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x53414f
push 0x80
mov edx, dword [ebp - 0xb4]
push edx
push 0x55d5b0
call fcn.0053de10
push 0
push 0x55d5b0
call fcn.0054d0d0
push 0x80
push 0x55d5b0
call fcn.0053dc90
push 5
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5341a9
mov eax, dword [ebp - 0xb4]
push eax
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x5341a9
push 0x400
mov ecx, dword [ebp - 0xb4]
push ecx
push 0x55e6b0
call fcn.0053de10
push 0
push 0x55e6b0
call fcn.0054d0d0
push 0x400
push 0x55e6b0
call fcn.0053dc90
push 6
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x534203
mov edx, dword [ebp - 0xb4]
push edx
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x534203
push 0x400
mov eax, dword [ebp - 0xb4]
push eax
push 0x55eab0
call fcn.0053de10
push 0
push 0x55eab0
call fcn.0054d0d0
push 0x400
push 0x55eab0
call fcn.0053dc90
push 1
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x53425d
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x53425d
push 0x80
mov edx, dword [ebp - 0xb4]
push edx
push 0x55d6b0
call fcn.0053de10
push 0
push 0x55d6b0
call fcn.0054d0d0
push 0x80
push 0x55d6b0
call fcn.0053dc90
push 2
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5342b7
mov eax, dword [ebp - 0xb4]
push eax
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x5342b7
push 0x80
mov ecx, dword [ebp - 0xb4]
push ecx
push 0x55d730
call fcn.0053de10
push 0
push 0x55d730
call fcn.0054d0d0
push 0x80
push 0x55d730
call fcn.0053dc90
push 3
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x534311
mov edx, dword [ebp - 0xb4]
push edx
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x534311
push 0x80
mov eax, dword [ebp - 0xb4]
push eax
push 0x55d8b0
call fcn.0053de10
push 0
push 0x55d8b0
call fcn.0054d0d0
push 0x80
push 0x55d8b0
call fcn.0053dc90
push 4
call fcn.0054e180
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x53436b
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0054fe00
add esp, 4
test eax, eax
jbe 0x53436b
push 0x80
mov edx, dword [ebp - 0xb4]
push edx
push 0x55dcb0
call fcn.0053de10
push 0
push 0x55dcb0
call fcn.0054d0d0
push 0x80
push 0x55dcb0
call fcn.0053dc90
call fcn.0054e0c0
mov eax, dword [0x5d72ae]
and eax, 0x80
test eax, eax
je 0x53459b
push 0x55e5b0
call fcn.0053ed70
push 0x55e5b0
lea ecx, [ebp - 0x134]
push ecx
call fcn.0054fd10
add esp, 8
push 0x55e5b0
call fcn.0053e050
cmp dword [0x581d14], 0
je 0x5343d8
lea edx, [ebp - 0x134]
push edx
push 0x5b6ddc
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 0
call fcn.005297a0
lea eax, [ebp - 0x134]
push eax
call fcn.0053dd60
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x53456d
push 0xff
push 0x5b6e38
call fcn.00529700
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0053de70
push 1
push 0x5b6e48
call fcn.00529700
push eax
mov edx, dword [ebp - 0x138]
push edx
call fcn.0053de70
push 2
push 0x5b6e58
call fcn.00529700
push eax
mov eax, dword [ebp - 0x138]
push eax
call fcn.0053de70
push 5
push 0x5b6e64
call fcn.00529700
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0053de70
push 0xd
push 0x5b6e74
call fcn.00529700
push eax
mov edx, dword [ebp - 0x138]
push edx
call fcn.0053de70
push 0x14
push 0x5b6e88
call fcn.00529700
push eax
mov eax, dword [ebp - 0x138]
push eax
call fcn.0053de70
push 0x13
push 0x5b6e98
call fcn.00529700
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0053de70
push 0x1a
push 0x5b6ea8
call fcn.00529700
push eax
mov edx, dword [ebp - 0x138]
push edx
call fcn.0053de70
push 0x1b
push 0x5b6eb4
call fcn.00529700
push eax
mov eax, dword [ebp - 0x138]
push eax
call fcn.0053de70
push 0x1c
push 0x5b6ec4
call fcn.00529700
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0053de70
push 0x1d
push 0x5b6ed4
call fcn.00529700
push eax
mov edx, dword [ebp - 0x138]
push edx
call fcn.0053de70
push 0x1e
push 0x5b6ee0
call fcn.00529700
push eax
mov eax, dword [ebp - 0x138]
push eax
call fcn.0053de70
push 0x100
push 0x5b6ef0
call fcn.00529700
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.0053de70
push 0x101
push 0x5b6f08
call fcn.00529700
push eax
mov edx, dword [ebp - 0x138]
push edx
call fcn.0053de70
mov eax, dword [ebp - 0x138]
push eax
call dword [0x5d37a4]
jmp 0x53459b
cmp dword [0x581d14], 0
je 0x53459b
lea ecx, [ebp - 0x134]
push ecx
push 0x5b6f1c
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 0
call fcn.005297a0
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x53c]
push eax
call fcn.0054fd10
add esp, 8
lea ecx, [ebp - 0x53c]
push ecx
call fcn.005593ed
add esp, 4
push 0x5b6f58
call fcn.00529700
push eax
lea edx, [ebp - 0x53c]
push edx
call fcn.005504a0
add esp, 8
mov dword [ebp - 0x548], eax
cmp dword [ebp - 0x548], 0
je 0x5346f3
mov dword [0x581d14], 1
push 0x5b6f68
call fcn.00529700
push eax
call fcn.0054fe00
add esp, 4
mov dword [ebp - 0x544], eax
mov eax, dword [ebp - 0x548]
lea ecx, [ebp - 0x53c]
sub eax, ecx
mov edx, dword [ebp + 0x10]
add edx, eax
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x548]
push eax
call fcn.0054fe00
add esp, 4
sub eax, dword [ebp - 0x544]
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
push ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x548]
lea ecx, [eax + edx + 1]
push ecx
mov edx, dword [ebp - 0x548]
push edx
call fcn.00550160
add esp, 0xc
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x13c]
lea eax, [edx + ecx + 1]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.00550160
add esp, 0xc
mov edx, dword [ebp - 0x540]
mov eax, dword [ebp - 0x548]
lea ecx, [eax + edx - 1]
mov dword [ebp - 0x548], ecx
mov edx, dword [ebp - 0x540]
mov eax, dword [ebp - 0x13c]
lea ecx, [eax + edx - 1]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x544]
add edx, 1
push edx
push 0
mov eax, dword [ebp - 0x548]
push eax
call fcn.0054f4e0
add esp, 0xc
mov ecx, dword [ebp - 0x544]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp - 0x13c]
push edx
call fcn.0054f4e0
add esp, 0xc
jmp 0x5346fd
mov dword [0x581d14], 0
mov eax, dword [0x5d72ae]
and eax, 0x40
test eax, eax
je 0x534713
mov dword [0x581d14], 1
cmp dword [0x581d14], 0
je 0x534917
push 0x582350
call fcn.0054cf90
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
push ecx
call fcn.0054cf80
push eax
push 0x5d9560
call fcn.0054fd10
add esp, 8
mov edx, dword [ebp - 0x54c]
push edx
call fcn.0054cfe0
cmp dword [0x5d2948], 0
jne 0x534769
call fcn.00547ef0
mov dword [0x5d2948], eax
push 0x80
push 0x55d5b0
lea eax, [ebp - 0x5cc]
push eax
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 0x7e
jmp 0x53479d
mov ecx, dword [0x5d3160]
sub ecx, 1
mov dword [0x5d3160], ecx
cmp dword [0x5d3160], 0
jl 0x5347ce
mov edx, dword [0x5d3160]
mov eax, dword [0x5d3160]
mov cl, byte [ebp + edx - 0x5cc]
xor cl, byte [ebp + eax - 0x5cb]
mov edx, dword [0x5d3160]
mov byte [ebp + edx - 0x5cc], cl
jmp 0x53478e
mov byte [ebp - 0x54c], 0
mov dword [0x5d3160], 0x3fe
jmp 0x5347ee
mov eax, dword [0x5d3160]
sub eax, 1
mov dword [0x5d3160], eax
cmp dword [0x5d3160], 0
jl 0x53481d
mov ecx, dword [0x5d3160]
mov edx, dword [0x5d3160]
mov al, byte [ecx + 0x55e6b0]
xor al, byte [edx + 0x55e6b1]
mov ecx, dword [0x5d3160]
mov byte [ecx + 0x55e6b0], al
jmp 0x5347e1
push 0x400
push 0x55e6b0
lea edx, [ebp - 0x53c]
push edx
call fcn.0054f130
add esp, 0xc
mov byte [ebp - 0x13c], 0
push 0x44
lea eax, [ebp - 0x5cc]
push eax
lea ecx, [ebp - 0x53c]
push ecx
push 0
call fcn.0053d280
cmp eax, 6
je 0x534867
push 7
call fcn.005286f0
push 0
call fcn.0054f04e
push 0x5d2eb0
push 0x5d7e00
push 0
push 0
push 0
push 1
push 0
push 0
push 0x5d9560
push 0
call dword [0x5d8400]
cmp eax, 1
jne 0x534917
mov dword [0x5d3160], 0x3fe
jmp 0x5348ae
mov edx, dword [0x5d3160]
sub edx, 1
mov dword [0x5d3160], edx
cmp dword [0x5d3160], 0
jl 0x5348db
mov eax, dword [0x5d3160]
mov ecx, dword [0x5d3160]
mov dl, byte [eax + 0x55eab0]
xor dl, byte [ecx + 0x55eab1]
mov eax, dword [0x5d3160]
mov byte [eax + 0x55eab0], dl
jmp 0x53489f
push 0x400
push 0x55eab0
lea ecx, [ebp - 0x53c]
push ecx
call fcn.0054f130
add esp, 0xc
mov byte [ebp - 0x13c], 0
lea edx, [ebp - 0x5cc]
push edx
push 0x34
call fcn.005297a0
lea eax, [ebp - 0x53c]
push eax
push 0x33
call fcn.005297a0
cmp dword [0x581d14], 0
je 0x53492c
push 0x5b6f78
push 0
call fcn.005297a0
mov ecx, dword [0x5d72ae]
and ecx, 0x2000
test ecx, ecx
je 0x534951
cmp dword [0x581d14], 0
je 0x534951
push 0x5b6fa0
push 0
call fcn.005297a0
push 0x5955f8
call fcn.0054cf90
mov dword [ebp - 0x5d0], eax
mov edx, dword [ebp - 0x5d0]
push edx
call fcn.0054cf80
push eax
call fcn.0053d2a0
test eax, eax
je 0x5349a6
cmp dword [0x581d14], 0
je 0x5349a4
mov eax, dword [0x5955fc]
push eax
push 0x5b6fd8
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 0
call fcn.005297a0
jmp 0x5349d4
cmp dword [0x581d14], 0
je 0x5349d4
mov ecx, dword [0x5955fc]
push ecx
push 0x5b7044
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 0
call fcn.005297a0
mov edx, dword [ebp - 0x5d0]
push edx
call fcn.0054cfe0
mov eax, dword [0x5d72ae]
and eax, 0x20
test eax, eax
je 0x534a0b
mov dword [0x5b17c8], 0
cmp dword [0x581d14], 0
je 0x534a0b
push 0x5b70a0
push 0
call fcn.005297a0
mov dword [0x5822c4], 0x55d54c
mov dword [0x5dc8c8], 1
mov ecx, dword [0x5dc8c8]
mov dword [0x5db718], ecx
mov edx, dword [0x5db718]
mov dword [0x5d2e10], edx
mov dword [0x5d37a0], 1
mov eax, dword [0x5d37a0]
mov dword [0x5d7fe4], eax
mov ecx, dword [0x5d7fe4]
mov dword [0x5d37bc], ecx
mov dword [0x5d996c], 0x55cd10
call dword [0x5d6094]
mov dword [0x5d2710], eax
call dword [0x5d8414]
mov dword [0x5d2718], eax
cmp dword [0x581d14], 0
je 0x534a8c
push 0x5b7148
push 2
call fcn.005297a0
push 0xb
push 0x5b71d0
push 0x5d8460
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 9
jmp 0x534abb
mov edx, dword [0x5d3160]
sub edx, 1
mov dword [0x5d3160], edx
cmp dword [0x5d3160], 0
jl 0x534ae8
mov eax, dword [0x5d3160]
mov ecx, dword [0x5d3160]
mov dl, byte [eax + 0x5d8460]
xor dl, byte [ecx + 0x5d8461]
mov eax, dword [0x5d3160]
mov byte [eax + 0x5d8460], dl
jmp 0x534aac
push 0xb
push 0x5d8460
push 0x5d8000
call fcn.0054f130
add esp, 0xc
mov byte [0x5d800b], 0
push 0x5d8000
push 0
push 0
call dword [0x5db71c]
mov dword [0x5d270c], eax
cmp dword [0x5d270c], 0
jne 0x534b51
cmp dword [0x581d14], 0
je 0x534b35
push 0x5b71dc
push 0
call fcn.005297a0
cmp dword [0x581d14], 0
je 0x534b4a
push 0x5d2974
push 4
call fcn.005297a0
push 0
call fcn.0054f04e
call dword [0x5d7f60]
cmp eax, 0xb7
jne 0x534c22
cmp dword [0x5d270c], 0
je 0x534b85
mov ecx, dword [0x5d270c]
push ecx
call dword [0x5d3644]
mov edx, dword [0x5d270c]
push edx
call dword [0x5d2e14]
cmp dword [0x5d26f4], 0
je 0x534b9a
mov eax, dword [0x5d26f4]
push eax
call dword [0x5d2ea0]
cmp dword [0x5d26f8], 0
je 0x534bb0
mov ecx, dword [0x5d26f8]
push ecx
call dword [0x5d2ea0]
cmp dword [0x5d26fc], 0
je 0x534bc6
mov edx, dword [0x5d26fc]
push edx
call dword [0x5d2ea0]
cmp dword [0x5d2700], 0
je 0x534bdb
mov eax, dword [0x5d2700]
push eax
call dword [0x5d2ea0]
cmp dword [0x5d2704], 0
je 0x534bf1
mov ecx, dword [0x5d2704]
push ecx
call dword [0x5d2ea0]
cmp dword [0x581d14], 0
je 0x534c06
push 0x5b7264
push 0x20
call fcn.005297a0
cmp dword [0x581d14], 0
je 0x534c1b
push 0x5d2978
push 4
call fcn.005297a0
push 0
call fcn.0054f04e
cmp dword [0x581d14], 0
je 0x534c37
push 0x5b72cc
push 2
call fcn.005297a0
push 0x5280c0
push dword fs:[0]
mov eax, dword fs:[0]
mov dword [0x5d37b4], eax
mov dword fs:[0], esp
mov eax, 0x535c99
mov dword [0x5d2dec], eax
mov dword [0x5d3164], 0x5286f0
cmp dword [0x5d3164], 0x5280b0
jbe 0x534c81
mov dword [ebp - 0x654], 0x5280b0
jmp 0x534c8d
mov edx, dword [0x5d3164]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
mov dword [0x5d3164], eax
mov dword [0x5d285c], 1
push ebp
mov ebp, esp
pushf
xor byte [ebp - 1], 1
popf
pop ebp
push 0xffffffffffffffff
mov ecx, dword [0x5d270c]
push ecx
call dword [0x5da4c0]
mov eax, 0x534d93
mov dword [0x5d8aec], eax
mov eax, 0x535842
mov dword [0x5dc8b0], eax
cmp dword [0x581d14], 0
je 0x534ce6
push 0x5b7344
push 2
call fcn.005297a0
cmp dword [0x5d28fc], 0
je 0x534d08
mov edx, dword [0x5d72ae]
and edx, 2
test edx, edx
je 0x534d08
mov eax, dword [0x5d28fc]
push eax
call dword [0x5d8444]
call fcn.00528ee0
mov dword [0x5d8b80], 0x5280c0
mov ecx, dword [0x5d37b4]
mov dword [0x5d60d4], ecx
call dword [0x5d8af0]
mov dword [0x5d2934], eax
mov edx, dword [0x5d2934]
mov dword [0x5d2930], edx
call fcn.00530aa0
push 0x8400
call fcn.0054f5a1
add esp, 4
mov dword [0x5d886c], eax
mov dword [0x5d30fc], 0
jmp 0x534d6a
mov eax, dword [0x5d30fc]
add eax, 1
mov dword [0x5d30fc], eax
cmp dword [0x5d30fc], 0x2100
jge 0x534d8b
mov ecx, dword [0x5d30fc]
mov edx, dword [0x5d886c]
mov dword [edx + ecx*4], 0x52fa00
jmp 0x534d5d
mov eax, 2
mov byte [eax], 0x50
mov edi, 0x403000
mov esi, 0x404120
mov eax, dword [0x5d3658]
push eax
call fcn.0054f538
add esp, 4
mov dword [0x5d30fc], 0
jmp 0x534dc6
mov ecx, dword [0x5d30fc]
add ecx, 1
mov dword [0x5d30fc], ecx
cmp dword [0x5d30fc], 0xc
jge 0x534de2
mov edx, dword [0x5d30fc]
mov dword [edx*4 + 0x55eec0], 0x52fa00
jmp 0x534db7
mov dword [0x5d30fc], 0
jmp 0x534dfb
mov eax, dword [0x5d30fc]
add eax, 1
mov dword [0x5d30fc], eax
cmp dword [0x5d30fc], 0xc
jge 0x534e7a
mov ecx, dword [0x5d30fc]
push ecx
call fcn.0053f640
mov dword [ebp - 0x5d4], eax
mov edx, dword [ebp - 0x5d4]
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x658], 1
je 0x534e3f
cmp dword [ebp - 0x658], 2
je 0x534e51
cmp dword [ebp - 0x658], 3
je 0x534e64
jmp 0x534e75
mov eax, dword [0x5d30fc]
mov dword [eax*4 + 0x57ff00], 0x54e920
jmp 0x534e75
mov ecx, dword [0x5d30fc]
mov dword [ecx*4 + 0x57ff00], 0x54ead0
jmp 0x534e75
mov edx, dword [0x5d30fc]
mov dword [edx*4 + 0x57ff00], 0x54eb50
jmp 0x534dee
push 0
push 0
push 0
push 0
call dword [0x5d35d8]
mov dword [0x5d26f0], eax
call fcn.00533cf0
push 0x100
call fcn.00528690
mov byte [0x5d2868], al
push 0x100
call fcn.00528690
mov byte [0x5d2870], al
mov eax, dword [0x5d2750]
or eax, 0x40000
mov dword [0x5d2750], eax
mov ecx, dword [0x5d2750]
or ecx, 0x1000000
mov dword [0x5d2750], ecx
cmp dword [0x581d14], 0
je 0x534ee6
push 0x5b73cc
push 2
call fcn.005297a0
call fcn.00540a10
call fcn.0053db90
cmp dword [0x5d2724], 0
jne 0x534f1e
cmp dword [0x5d9968], 0
je 0x534f1e
cmp dword [0x581d14], 0
je 0x534f17
push 0x5b73f4
push 2
call fcn.005297a0
call fcn.00543930
jmp 0x534f4e
cmp dword [0x581d14], 0
je 0x534f4e
cmp dword [0x5d2724], 0
jne 0x534f4e
push 0x5b745c
push 0x5da700
call fcn.0054fd10
add esp, 8
push 0x5da700
push 2
call fcn.005297a0
cmp dword [0x581d14], 0
je 0x534f63
push 0x5b7534
push 2
call fcn.005297a0
call dword [0x5d8c1c]
mov dword [0x5d365c], eax
mov edx, dword [0x5d365c]
add edx, 0x1d4c0
cmp edx, 0x1d4c0
jae 0x534f8c
mov dword [0x5d365c], 0xffffffff
mov eax, fcn.0052d4c0
sub eax, fcn.00529830
mov dword [0x5dc8f4], eax
mov dword [fcn.00529830], 0x529830
push 4
call fcn.0054f5a1
add esp, 4
mov dword [0x5d2e0c], eax
mov ecx, dword [0x5d2e0c]
mov dword [ecx], 0
push 4
call fcn.0054f5a1
add esp, 4
mov dword [0x5d35e8], eax
mov edx, dword [0x5d35e8]
mov dword [edx], 0
cmp dword [0x5d28fc], 0
je 0x534ffd
mov eax, dword [0x5d72ae]
and eax, 2
test eax, eax
je 0x534ffd
mov ecx, dword [0x5d28fc]
push ecx
call dword [0x5d8444]
mov dword [0x5d30fc], 0
jmp 0x535018
mov edx, dword [0x5d30fc]
add edx, 1
mov dword [0x5d30fc], edx
mov eax, dword [0x5dc8f4]
shr eax, 2
cmp dword [0x5d30fc], eax
jge 0x535047
mov ecx, dword [0x5d2e0c]
mov edx, dword [ecx]
mov eax, dword [0x5d30fc]
mov ecx, dword [fcn.00529830]
add edx, dword [ecx + eax*4]
mov eax, dword [0x5d2e0c]
mov dword [eax], edx
jmp 0x535009
cmp dword [0x5d2724], 0
je 0x5350c6
cmp dword [0x5d35dc], 5
jb 0x5350c6
cmp dword [0x581d14], 0
je 0x53506e
push 0x5b757c
push 2
call fcn.005297a0
call fcn.00530930
test eax, eax
jne 0x5350a7
mov dword [0x5d28cc], 1
mov ecx, dword [0x5d2784]
or ecx, 2
mov dword [0x5d2784], ecx
cmp dword [0x581d14], 0
je 0x5350a5
push 0x5b75e4
push 3
call fcn.005297a0
jmp 0x5350c6
mov dword [0x5d28cc], 0
cmp dword [0x581d14], 0
je 0x5350c6
push 0x5b771c
push 0
call fcn.005297a0
push 0x5286d0
call dword [0x5d2f74]
mov dword [0x5d285c], 1
cmp dword [0x581d14], 0
je 0x5350f0
push 0x5b77f4
push 2
call fcn.005297a0
call fcn.00541ab0
cmp dword [0x581d14], 0
je 0x53510a
push 0x5b788c
push 2
call fcn.005297a0
cmp dword [0x5d28fc], 0
je 0x53512c
mov edx, dword [0x5d72ae]
and edx, 2
test edx, edx
je 0x53512c
mov eax, dword [0x5d28fc]
push eax
call dword [0x5d8444]
mov dword [ebp - 0x5e8], 0x581d30
mov dword [ebp - 0x648], 0x500
mov dword [ebp - 0x644], 0
jmp 0x53515b
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov eax, dword [ebp - 0x648]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [ebp - 0x644], eax
jge 0x5351a0
mov edx, dword [ebp - 0x644]
xor edx, dword [0x5d7288]
mov eax, dword [ebp - 0x644]
mov ecx, dword [ebp - 0x5e8]
mov eax, dword [ecx + eax*4]
xor eax, edx
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x5e8]
mov dword [edx + ecx*4], eax
jmp 0x53514c
lea eax, [ebp - 0x640]
push eax
call fcn.0053c0a0
push 0x500
push 0x581d30
lea ecx, [ebp - 0x640]
push ecx
call fcn.0053c0f0
lea edx, [ebp - 0x640]
push edx
lea eax, [ebp - 0x5e4]
push eax
call fcn.0053c220
mov ecx, dword [ebp - 0x5e4]
mov dword [ebp - 0x64c], ecx
mov edx, dword [ebp - 0x64c]
xor edx, dword [ebp - 0x5e0]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x64c]
xor eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x64c]
xor ecx, dword [ebp - 0x5d8]
mov dword [ebp - 0x64c], ecx
mov edx, dword [ebp - 0x64c]
shr edx, 0x18
and edx, 0xff
mov eax, dword [ebp - 0x64c]
shr eax, 0x10
and eax, 0xff
shl eax, 8
add edx, eax
mov ecx, dword [ebp - 0x64c]
shr ecx, 8
and ecx, 0xff
shl ecx, 0x10
add edx, ecx
mov eax, dword [ebp - 0x64c]
and eax, 0xff
shl eax, 0x18
add edx, eax
mov dword [ebp - 0x64c], edx
mov ecx, dword [ebp - 0x64c]
cmp ecx, dword [0x582230]
je 0x5352b0
cmp dword [0x5d291c], 1
jne 0x5352b0
mov edx, dword [0x5d72ae]
and edx, 8
test edx, edx
je 0x5352b0
cmp dword [0x581d14], 0
je 0x53529c
push 0x5b7954
push 0x21
call fcn.005297a0
push 0x10
push 0x581d30
push fcn.0052d6c0
call fcn.0054f130
add esp, 0xc
call fcn.00542660
cmp dword [0x581d14], 0
je 0x5352ca
push 0x5b79ec
push 2
call fcn.005297a0
call fcn.00543340
mov eax, 5
mov byte [eax], 0x23
mov eax, dword [0x55d550]
xor eax, dword [0x5d6090]
mov dword [0x55d550], eax
mov dword [0x5d30fc], 0
jmp 0x535302
mov ecx, dword [0x5d30fc]
add ecx, 1
mov dword [0x5d30fc], ecx
cmp dword [0x5d30fc], 9
jge 0x535330
mov edx, dword [0x5d30fc]
mov eax, dword [0x5d30fc]
mov cl, byte [edx + 0x55d550]
sub cl, byte [eax + 0x5d3780]
mov edx, dword [0x5d30fc]
mov byte [edx + 0x55d550], cl
jmp 0x5352f3
mov dword [0x5d30fc], 0x1e
jmp 0x535349
mov eax, dword [0x5d30fc]
sub eax, 1
mov dword [0x5d30fc], eax
cmp dword [0x5d30fc], 0
jl 0x535378
mov ecx, dword [0x5d30fc]
mov edx, dword [0x5d30fc]
mov al, byte [ecx + 0x55d518]
xor al, byte [edx + 0x55d519]
mov ecx, dword [0x5d30fc]
mov byte [ecx + 0x55d518], al
jmp 0x53533c
push 0
push 0
push 0
push 0
call dword [0x5d35d8]
mov dword [0x5db72c], eax
cmp dword [0x581d14], 0
je 0x5353a0
push 0x5b7ab4
push 2
call fcn.005297a0
push 1
call dword [0x5d596c]
test eax, eax
jne 0x5353d2
cmp dword [0x581d14], 0
je 0x5353c1
push 0x5b7afc
push 0x20
call fcn.005297a0
push 0xb
call fcn.005286f0
mov eax, 0xb
jmp 0x535c9b
add esp, 4
mov dword [0x5d2728], 1
cmp dword [0x581d14], 0
je 0x5353f4
push 0x5b7b84
push 2
call fcn.005297a0
push 0x5d30f0
call dword [0x5da2a8]
push 0x5d297c
push 0x5d8ba0
call fcn.0054fd10
add esp, 8
cmp dword [0x581d14], 0
je 0x535426
push 0x5b7bfc
push 2
call fcn.005297a0
call dword [0x5d6124]
test eax, eax
jne 0x53543e
push 0
call fcn.005286f0
xor eax, eax
jmp 0x535c9b
cmp dword [0x581d14], 0
je 0x535453
push 0x5b7c44
push 2
call fcn.005297a0
push 0x5d5960
push 0x5dc910
call dword [0x5dc8f8]
test eax, eax
jne 0x535490
call dword [0x5d5c34]
cmp dword [0x581d14], 0
je 0x535482
push 0x5b7c8c
push 0x20
call fcn.005297a0
push 1
call fcn.005286f0
push 1
call fcn.0054f04e
cmp dword [0x581d14], 0
je 0x5354c7
mov edx, dword [0x5d5960]
add edx, 0x61
push edx
mov eax, dword [0x5dc910]
push eax
push 0x5b7cc4
push 0x5d4900
call fcn.0054f465
add esp, 0x10
push 0x5d4900
push 0
call fcn.005297a0
cmp dword [0x905d2724], 0xffffff90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub dword [ebp], ebx
jmp 0x53555c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10